Knowledge

Fork bomb

Source 📝

782: 29: 240:
As a fork bomb's mode of operation is entirely encapsulated by creating new processes, one way of preventing a fork bomb from severely affecting the entire system is to limit the maximum number of processes that a single user may own. On Linux, this can be achieved by using the
528:
When the shell is in POSIX mode (see Bash POSIX Mode), fname must be a valid shell name and may not be the same as one of the special builtins (see Special Builtins). In default mode, a function name can be any unquoted shell word that does not contain '$
137:
operating systems do not have an equivalent functionality to the Unix fork system call; a fork bomb on such an operating system must therefore create a new process instead of forking from an existing one, such as with
504:
Name: In the shell command language, a word consisting solely of underscores, digits, and alphabetics from the portable character set. The first character of a name is not a digit.
228:
as the function name is not valid in a shell as defined by POSIX, which only permits alphanumeric characters and underscores in function names. However, its usage is allowed in
387: 620: 676: 1220: 312: 1197: 131:
resource management technique when forking new processes, a fork bomb generally will not saturate such a system's memory.
1228: 32:
The concept behind a fork bomb — the processes continually replicate themselves, potentially causing a denial of service
1254: 669: 600: 575: 371: 343: 499: 1160: 399: 123:, they continue forking endlessly within their own copy of the same infinite loop; this has the effect of causing an 119:. As forked processes are also copies of the first program, once they resume execution from the next address at the 956: 1210: 250: 56:
continually replicates itself to deplete available system resources, slowing down or crashing the system due to
550: 424: 1023: 662: 1259: 19:"Rabbit virus" redirects here. For the disease used in an attempt to exterminate rabbits in Australia, see 1215: 1136: 936: 616: 274: 1192: 1150: 806: 1053: 771: 516: 1038: 916: 811: 81: 49: 1126: 1078: 741: 93: 77: 500:"The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1™-2017 Section 3.235" 465: 1167: 901: 1187: 1099: 1048: 993: 861: 834: 816: 714: 685: 284: 781: 8: 971: 746: 704: 57: 53: 1155: 1083: 988: 124: 97: 1203: 961: 896: 846: 793: 751: 699: 596: 571: 546: 420: 395: 367: 339: 134: 68:
Around 1978, an early variant of a fork bomb called wabbit was reported to run on a
1172: 1112: 876: 866: 761: 469: 101: 1063: 1043: 941: 766: 756: 308: 304: 206: 1233: 1131: 981: 931: 906: 871: 851: 731: 719: 473: 69: 441: 1248: 1143: 1104: 1073: 1068: 921: 911: 881: 617:"Process Number Controller in Documentation/ as appeared in Linux kernel 5.3" 261:. Modern Linux systems also allow finer-grained fork bomb prevention through 128: 120: 105: 1177: 1033: 736: 645: 115:-like operating systems, fork bombs are generally written to use the fork 1117: 951: 926: 891: 726: 249:
would limit the affected user to a maximum of thirty owned processes. On
116: 20: 1182: 998: 946: 829: 709: 654: 279: 214: 171:, possibly dating back to 1999, which can be more easily understood as 165: 139: 1058: 1013: 1008: 856: 37: 1018: 976: 839: 229: 336:
Secure Computer and Network Systems: Modeling, Analysis and Design
1028: 1003: 966: 262: 886: 801: 649: 104:'s process table. A basic implementation of a fork bomb is an 28: 112: 257:, and on *BSD, the system administrator can put limits in 417:
Python Programming On Win32: Help for Windows Programmers
357: 355: 352: 127:
in processes. As modern Unix systems generally use a
72:. It may have descended from a similar attack called 164:A classic example of a fork bomb is one written in 1246: 253:-enabled systems, this limit can also be set in 593:Absolute FreeBSD: The Complete Guide to FreeBSD 463: 108:that repeatedly launches new copies of itself. 570:. McGraw Hill Professional. pp. 364–365. 213:) its result into itself, all in a background 670: 394:. McGraw-Hill Higher Education. p. 285. 517:"The GNU Bash Reference Manual, Section 3.3" 392:Operating Systems: A Concept-based Approach 677: 663: 466:" Buffer overflow in libtermcap tgetent()" 1221:Security information and event management 386: 16:Type of denial-of-service software attack 684: 439: 27: 568:Linux Administration: A Beginners Guide 565: 414: 303: 145:, which can be written more clearly as 1247: 540: 419:. "O'Reilly Media, Inc.". p. 35. 361: 265:and process number (PID) controllers. 1198:Host-based intrusion detection system 658: 595:. No Starch Press. pp. 198–199. 590: 338:. John Wiley & Sons. p. 16. 297: 92:Fork bombs operate both by consuming 623:from the original on October 8, 2019 1229:Runtime application self-protection 464:Michal Zalewski (August 19, 1999). 443:@echo.%0^|%0›$ ^_^.c^md&$ _›nul 143:@echo.%0^|%0›$ ^_^.c^md&$ _›nul 13: 780: 486:bash$  :(){ :|:&};:} 333: 245:utility; for example, the command 147:echo %0^|%0 > $ _.cmd & $ _ 14: 1271: 1161:Security-focused operating system 639: 315:from the original on May 15, 2012 87: 957:Insecure direct object reference 1211:Information security management 609: 584: 559: 534: 50:denial-of-service (DoS) attack 509: 492: 457: 433: 408: 380: 327: 197:In it, a function is defined ( 1: 543:Advanced Bash Scripting Guide 290: 235: 157:, which is then executed by 7: 1216:Information risk management 1137:Multi-factor authentication 693:Related security categories 275:Deadlock (computer science) 268: 10: 1276: 1193:Intrusion detection system 1151:Computer security software 807:Advanced persistent threat 591:Lucas, Michael W. (2007). 440:Enderman (June 26, 2024). 63: 18: 1255:Denial-of-service attacks 1092: 792: 778: 772:Digital rights management 692: 255:/etc/security/limits.conf 917:Denial-of-service attack 812:Arbitrary code execution 173: 100:, and by saturating the 82:University of Washington 76:reported from 1969 on a 1127:Computer access control 1079:Rogue security software 742:Electromagnetic warfare 541:Cooper, Mendel (2005). 502:. The Open Group/IEEE. 388:Dhamdhere, Dhananjay M. 224:The code using a colon 96:time in the process of 1173:Obfuscation (software) 902:Browser Helper Objects 786: 566:Soyinka, Wale (2012). 415:Hammond, Mark (2000). 311:. The Jargon Lexicon. 169::(){ :|:& };: 33: 1168:Data-centric security 1049:Remote access trojans 784: 362:Jielin, Dong (2007). 201:) as calling itself ( 31: 1100:Application security 994:Privilege escalation 862:Cross-site scripting 715:Cybersex trafficking 686:Information security 545:. pp. 305–306. 453:– via YouTube. 285:Time bomb (software) 1260:Process (computing) 747:Information warfare 705:Automotive security 619:. October 8, 2019. 307:(October 1, 2004). 58:resource starvation 1156:Antivirus software 1024:Social engineering 989:Polymorphic engine 942:Fraudulent dialers 847:Hardware backdoors 787: 646:Fork bomb examples 364:Network Dictionary 125:exponential growth 34: 1242: 1241: 1204:Anomaly detection 1109:Secure by default 962:Keystroke loggers 897:Drive-by download 785:vectorial version 752:Internet security 700:Computer security 474:muc.lists.bugtraq 334:Ye, Nong (2008). 232:as an extension. 135:Microsoft Windows 1267: 1113:Secure by design 1044:Hardware Trojans 877:History sniffing 867:Cross-site leaks 762:Network security 679: 672: 665: 656: 655: 633: 632: 630: 628: 613: 607: 606: 588: 582: 581: 563: 557: 556: 538: 532: 531: 525: 523: 513: 507: 506: 496: 490: 489: 487: 482: 480: 461: 455: 454: 452: 450: 437: 431: 430: 412: 406: 405: 384: 378: 377: 359: 350: 349: 331: 325: 324: 322: 320: 305:Raymond, Eric S. 301: 260: 256: 248: 227: 220: 212: 204: 200: 192: 189: 185: 181: 178: 170: 160: 156: 152: 148: 144: 102:operating system 1275: 1274: 1270: 1269: 1268: 1266: 1265: 1264: 1245: 1244: 1243: 1238: 1088: 788: 776: 767:Copy protection 757:Mobile security 688: 683: 642: 637: 636: 626: 624: 615: 614: 610: 603: 589: 585: 578: 564: 560: 553: 539: 535: 521: 519: 515: 514: 510: 498: 497: 493: 485: 478: 476: 462: 458: 448: 446: 438: 434: 427: 413: 409: 402: 385: 381: 374: 366:. p. 200. 360: 353: 346: 332: 328: 318: 316: 302: 298: 293: 271: 259:/etc/login.conf 258: 254: 246: 238: 225: 218: 210: 202: 198: 195: 194: 190: 187: 183: 179: 176: 168: 158: 154: 150: 146: 142: 90: 66: 24: 17: 12: 11: 5: 1273: 1263: 1262: 1257: 1240: 1239: 1237: 1236: 1234:Site isolation 1231: 1226: 1225: 1224: 1218: 1208: 1207: 1206: 1201: 1190: 1185: 1180: 1175: 1170: 1165: 1164: 1163: 1158: 1148: 1147: 1146: 1141: 1140: 1139: 1132:Authentication 1124: 1123: 1122: 1121: 1120: 1110: 1107: 1096: 1094: 1090: 1089: 1087: 1086: 1081: 1076: 1071: 1066: 1061: 1056: 1051: 1046: 1041: 1036: 1031: 1026: 1021: 1016: 1011: 1006: 1001: 996: 991: 986: 985: 984: 974: 969: 964: 959: 954: 949: 944: 939: 934: 932:Email spoofing 929: 924: 919: 914: 909: 904: 899: 894: 889: 884: 879: 874: 872:DOM clobbering 869: 864: 859: 854: 852:Code injection 849: 844: 843: 842: 837: 832: 827: 819: 814: 809: 804: 798: 796: 790: 789: 779: 777: 775: 774: 769: 764: 759: 754: 749: 744: 739: 734: 732:Cyberterrorism 729: 724: 723: 722: 720:Computer fraud 717: 707: 702: 696: 694: 690: 689: 682: 681: 674: 667: 659: 653: 652: 641: 640:External links 638: 635: 634: 608: 602:978-1593271510 601: 583: 577:978-0071767590 576: 558: 551: 533: 508: 491: 456: 432: 425: 407: 400: 379: 373:978-1602670006 372: 351: 345:978-0470023242 344: 326: 295: 294: 292: 289: 288: 287: 282: 277: 270: 267: 237: 234: 174: 153:is written to 89: 88:Implementation 86: 78:Burroughs 5500 65: 62: 15: 9: 6: 4: 3: 2: 1272: 1261: 1258: 1256: 1253: 1252: 1250: 1235: 1232: 1230: 1227: 1222: 1219: 1217: 1214: 1213: 1212: 1209: 1205: 1202: 1199: 1196: 1195: 1194: 1191: 1189: 1186: 1184: 1181: 1179: 1176: 1174: 1171: 1169: 1166: 1162: 1159: 1157: 1154: 1153: 1152: 1149: 1145: 1144:Authorization 1142: 1138: 1135: 1134: 1133: 1130: 1129: 1128: 1125: 1119: 1116: 1115: 1114: 1111: 1108: 1106: 1105:Secure coding 1103: 1102: 1101: 1098: 1097: 1095: 1091: 1085: 1082: 1080: 1077: 1075: 1074:SQL injection 1072: 1070: 1067: 1065: 1062: 1060: 1057: 1055: 1054:Vulnerability 1052: 1050: 1047: 1045: 1042: 1040: 1039:Trojan horses 1037: 1035: 1034:Software bugs 1032: 1030: 1027: 1025: 1022: 1020: 1017: 1015: 1012: 1010: 1007: 1005: 1002: 1000: 997: 995: 992: 990: 987: 983: 980: 979: 978: 975: 973: 970: 968: 965: 963: 960: 958: 955: 953: 950: 948: 945: 943: 940: 938: 935: 933: 930: 928: 925: 923: 922:Eavesdropping 920: 918: 915: 913: 912:Data scraping 910: 908: 905: 903: 900: 898: 895: 893: 890: 888: 885: 883: 882:Cryptojacking 880: 878: 875: 873: 870: 868: 865: 863: 860: 858: 855: 853: 850: 848: 845: 841: 838: 836: 833: 831: 828: 826: 823: 822: 820: 818: 815: 813: 810: 808: 805: 803: 800: 799: 797: 795: 791: 783: 773: 770: 768: 765: 763: 760: 758: 755: 753: 750: 748: 745: 743: 740: 738: 735: 733: 730: 728: 725: 721: 718: 716: 713: 712: 711: 708: 706: 703: 701: 698: 697: 695: 691: 687: 680: 675: 673: 668: 666: 661: 660: 657: 651: 647: 644: 643: 622: 618: 612: 604: 598: 594: 587: 579: 573: 569: 562: 554: 548: 544: 537: 530: 518: 512: 505: 501: 495: 488: 475: 471: 467: 460: 445: 444: 436: 428: 422: 418: 411: 403: 401:0-07-061194-7 397: 393: 389: 383: 375: 369: 365: 358: 356: 347: 341: 337: 330: 314: 310: 306: 300: 296: 286: 283: 281: 278: 276: 273: 272: 266: 264: 252: 244: 233: 231: 222: 216: 208: 172: 167: 162: 141: 136: 132: 130: 129:copy-on-write 126: 122: 121:frame pointer 118: 114: 109: 107: 106:infinite loop 103: 99: 95: 85: 83: 79: 75: 71: 61: 59: 55: 51: 47: 44:(also called 43: 39: 30: 26: 22: 1178:Data masking 824: 737:Cyberwarfare 625:. Retrieved 611: 592: 586: 567: 561: 542: 536: 527: 522:December 11, 520:. Retrieved 511: 503: 494: 484: 479:December 10, 477:. Retrieved 459: 447:. Retrieved 442: 435: 416: 410: 391: 382: 363: 335: 329: 317:. Retrieved 299: 247:ulimit -u 30 242: 239: 223: 196: 163: 133: 110: 91: 73: 67: 46:rabbit virus 45: 41: 35: 25: 1118:Misuse case 952:Infostealer 927:Email fraud 892:Data breach 727:Cybergeddon 319:October 15, 117:system call 21:Myxomatosis 1249:Categories 1183:Encryption 1059:Web shells 999:Ransomware 947:Hacktivism 710:Cybercrime 627:October 8, 552:1430319305 426:1565926218 291:References 280:Logic bomb 236:Prevention 166:Unix shell 70:System/360 52:wherein a 1014:Shellcode 1009:Scareware 857:Crimeware 817:Backdoors 470:Newsgroup 159:& $ _ 149:. In it, 42:fork bomb 38:computing 1188:Firewall 1093:Defenses 1019:Spamming 1004:Rootkits 977:Phishing 937:Exploits 621:Archived 449:June 30, 390:(2006). 313:Archived 309:"wabbit" 269:See also 230:GNU Bash 205:), then 1029:Spyware 972:Payload 967:Malware 907:Viruses 887:Botnets 794:Threats 472::  263:cgroups 98:forking 80:at the 74:RABBITS 64:History 54:process 48:) is a 1223:(SIEM) 1200:(HIDS) 1084:Zombie 821:Bombs 802:Adware 650:GitHub 599:  574:  549:  423:  398:  370:  342:  243:ulimit 207:piping 199:fork() 155:$ .cmd 1069:Worms 1064:Wiper 982:Voice 830:Logic 219:& 193:fork 188:& 151:%0|%0 140:batch 835:Time 825:Fork 629:2019 597:ISBN 572:ISBN 547:ISBN 524:2022 481:2022 451:2024 421:ISBN 396:ISBN 368:ISBN 340:ISBN 321:2013 203:fork 186:fork 182:fork 175:fork 113:Unix 40:, a 840:Zip 648:on 251:PAM 221:). 215:job 111:In 94:CPU 36:In 1251:: 529:'. 526:. 483:. 468:. 354:^ 177:() 161:. 84:. 60:. 678:e 671:t 664:v 631:. 605:. 580:. 555:. 429:. 404:. 376:. 348:. 323:. 226:: 217:( 211:| 209:( 191:} 184:| 180:{ 23:.

Index

Myxomatosis

computing
denial-of-service (DoS) attack
process
resource starvation
System/360
Burroughs 5500
University of Washington
CPU
forking
operating system
infinite loop
Unix
system call
frame pointer
exponential growth
copy-on-write
Microsoft Windows
batch
Unix shell
piping
job
GNU Bash
PAM
cgroups
Deadlock (computer science)
Logic bomb
Time bomb (software)
Raymond, Eric S.

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.