Secure coding in C and C++:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ [u.a.]
Addison-Wesley
2013
|
Ausgabe: | 2. ed. |
Schriftenreihe: | SEI series in software engineering
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | "A CERT book"...Cover. - Includes bibliographical references (p. 519-537) and index |
Beschreibung: | XXVII, 569 S. Ill. 24 cm |
ISBN: | 9780321822130 0321822137 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV041627277 | ||
003 | DE-604 | ||
005 | 20170522 | ||
007 | t | ||
008 | 140205s2013 xxka||| |||| 00||| eng d | ||
010 | |a 013932290 | ||
020 | |a 9780321822130 |9 978-0-321-82213-0 | ||
020 | |a 0321822137 |9 0-321-82213-7 | ||
035 | |a (OCoLC)842198821 | ||
035 | |a (DE-599)BVBBV041627277 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxk |c GB | ||
049 | |a DE-83 |a DE-858 |a DE-573 |a DE-91G |a DE-20 | ||
050 | 0 | |a QA76.9.A25 | |
082 | 0 | |a 005.8 |2 23 | |
084 | |a ST 150 |0 (DE-625)143594: |2 rvk | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a DAT 460f |2 stub | ||
084 | |a DAT 358f |2 stub | ||
100 | 1 | |a Seacord, Robert C. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Secure coding in C and C++ |c Robert C. Seacord |
246 | 1 | 3 | |a Secure coding in C and C plus plus |
250 | |a 2. ed. | ||
264 | 1 | |a Upper Saddle River, NJ [u.a.] |b Addison-Wesley |c 2013 | |
300 | |a XXVII, 569 S. |b Ill. |c 24 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a SEI series in software engineering | |
500 | |a "A CERT book"...Cover. - Includes bibliographical references (p. 519-537) and index | ||
650 | 4 | |a Computer security | |
650 | 4 | |a C (Computer program language) | |
650 | 4 | |a C++ (Computer program language) | |
650 | 0 | 7 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwareschwachstelle |0 (DE-588)4752508-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Computersicherheit |0 (DE-588)4274324-2 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |D s |
689 | 0 | 1 | |a Softwareschwachstelle |0 (DE-588)4752508-3 |D s |
689 | 0 | 2 | |a Computersicherheit |0 (DE-588)4274324-2 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027068258&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-027068258 |
Datensatz im Suchindex
_version_ | 1804151843762208768 |
---|---|
adam_text | Titel: Secure coding in C and C++
Autor: Seacord, Robert C
Jahr: 2013
Contents Foreword xvii Preface xxi Acknowledgments xxv About the Author xxvii Chapter 1 Running with Scissors 1 1.1 Gauging the Threat 5 What Is the Cost? 6 Who Is the Threat? 8 Software Security 11 1.2 Security Concepts 12 Security Policy 14 Security Flaws 14 Vulnerabilities 15 Exploits 16 Mitigations 17 1.3 C and C++ 17 A Brief History 19 What Is the Problem with C? 21 Legacy Code 24 Other Languages 25 1.4 Development Platforms 25 Operating Systems 26 Compilers 26
viii Contents Chapter 2 1.5 Summary 27 1.6 Further Reading 28 Strings 29 2.1 Character Strings 29 String Data Type 30 UTF-8 32 Wide Strings 33 String Literals 34 Strings in C++ 36 Character Types 37 Sizing Strings 39 2.2 Common String Manipulation Errors 42 Improperly Bounded String Copies 42 Off-by-One Errors 47 Null-Termination Errors 48 String Truncation 49 String Errors without Functions 49 2.3 String Vulnerabilities and Exploits 50 Tainted Data 51 Security Flaw: IsPasswordOK 52 Buffer Overflows 53 Process Memory Organization 54 Stack Management 55 Stack Smashing 59 Code Injection 64 Arc Injection 69 Return-Oriented Programming 71 2.4 Mitigation Strategies for Strings 72 String Handling 73 Cll Annex K Bounds-Checking Interfaces 73 Dynamic Allocation Functions 76 C++ std::basic_string 80 Invalidating String Object References 81 Other Common Mistakes in basic_string Usage 83 2.5 String-Handling Functions 84 gets() 84 C99 84 Cll Annex K Bounds-Checking Interfaces: gets s() 86 Dynamic Allocation Functions 87 strcpyO and strcatO 89 C99 89 strncpyO and strncatO 93 memcpyO and memmoveO 100 strlenQ 100
Contents ix Chapter 3 Chapter 4 2.6 Runtime Protection Strategies 101 Detection and Recovery 101 Input Validation 102 Object Size Checking 102 Visual Studio Compiler-Generated Runtime Checks 106 Stack Canaries 108 Stack-Smashing Protector (ProPolice) 110 Operating System Strategies 111 Detection and Recovery 111 Nonexecutable Stacks 113 W A X 113 PaX 115 Future Directions 116 2.7 Notable Vulnerabilities 117 Remote Login 117 Kerberos 118 2.8 Summary 118 2.9 Further Reading 120 Pointer Subterfuge 121 3.1 Data Locations 122 3.2 Function Pointers 123 3.3 Object Pointers 124 3.4 Modifying the Instruction Pointer 125 3.5 Global Offset Table 127 3.6 The .dtors Section 129 3.7 Virtual Pointers 131 3.8 The atexitO and on_exit() Functions 133 3.9 The longjmpO Function 134 3.10 Exception Handling 136 Structured Exception Handling 137 System Default Exception Handling 139 3.11 Mitigation Strategies 139 Stack Canaries 140 W A X 140 Encoding and Decoding Function Pointers 140 3.12 Summary 142 3.13 Further Reading 143 Dynamic Memory Management 145 4.1 C Memory Management 146 C Standard Memory Management Functions 146 Alignment 147 allocaO and Variable-Length Arrays 149
X Contents 4.2 Common C Memory Management Errors 151 Initialization Errors 151 Failing to Check Return Values 153 Dereferencing Null or Invalid Pointers 155 Referencing Freed Memory 156 Freeing Memory Multiple Times 157 Memory Leaks 158 Zero-Length Allocations 159 DR #400 161 4.3 C++ Dynamic Memory Management 162 Allocation Functions 164 Deallocation Functions 168 Garbage Collection 169 4.4 Common C++ Memory Management Errors 172 Failing to Correctly Check for Allocation Failure 172 Improperly Paired Memory Management Functions 172 Freeing Memory Multiple Times 176 Deallocation Function Throws an Exception 179 4.5 Memory Managers 180 4.6 Doug Lea’s Memory Allocator 182 Buffer Overflows on the Heap 185 4.7 Double-Free Vulnerabilities 191 Writing to Freed Memory 195 RtlHeap 196 Buffer Overflows (Redux) 204 4.8 Mitigation Strategies 212 Null Pointers 212 Consistent Memory Management Conventions 212 phkmalloc 213 Randomization 215 OpenBSD 215 The jemalloc Memory Manager 216 Static Analysis 217 Runtime Analysis Tools 218 4.9 Notable Vulnerabilities 222 CVS Buffer Overflow Vulnerability 222 Microsoft Data Access Components (MDAC) 223 CVS Server Double-Free 223 Vulnerabilities in MIT Kerberos 5 224 4.10 Summary 224 Chapter 5 Integer Security 225 5.1 Introduction to Integer Security 225 5.2 Integer Data Types 226 Unsigned Integer Types 227
Contents xi Wraparound 229 Signed Integer Types 231 Signed Integer Ranges 235 Integer Overflow 237 Character Types 240 Data Models 241 Other Integer Types 241 5.3 Integer Conversions 246 Converting Integers 246 Integer Conversion Rank 246 Integer Promotions 247 Usual Arithmetic Conversions 249 Conversions from Unsigned Integer Types 250 Conversions from Signed Integer Types 253 Conversion Implications 256 5.4 Integer Operations 256 Assignment 258 Addition 260 Subtraction 267 Multiplication 269 Division and Remainder 274 Shifts 279 5.5 Integer Vulnerabilities 283 Vulnerabilities 283 Wraparound 283 Conversion and Truncation Errors 285 Nonexceptional Integer Logic Errors 287 5.6 Mitigation Strategies 288 Integer Type Selection 289 Abstract Data Types 291 Arbitrary-Precision Arithmetic 292 Range Checking 293 Precondition and Postcondition Testing 295 Secure Integer Libraries 297 Overflow Detection 299 Compiler-Generated Runtime Checks 300 Verifiably In-Range Operations 301 As-If Infinitely Ranged Integer Model 303 Testing and Analysis 304 5.7 Summary 307 Chapter 6 Formatted Output 309 6.1 Variadic Functions 310 6.2 Formatted Output Functions 313 Format Strings 314
xii Contents GCC 318 Visual C++ 318 6.3 Exploiting Formatted Output Functions 319 Buffer Overflow 320 Output Streams 321 Crashing a Program 321 Viewing Stack Content 322 Viewing Memory Content 324 Overwriting Memory 326 Internationalization 331 Wide-Character Format String Vulnerabilities 332 6.4 Stack Randomization 332 Defeating Stack Randomization 332 Writing Addresses in Two Words 334 Direct Argument Access 335 6.5 Mitigation Strategies 337 Exclude User Input from Format Strings 338 Dynamic Use of Static Content 338 Restricting Bytes Written 339 Cll Annex K Bounds-Checking Interfaces 340 iostream versus stdio 341 Testing 342 Compiler Checks 342 Static Taint Analysis 343 Modifying the Variadic Function Implementation 344 Exec Shield 345 FormatGuard 34g Static Binary Analysis 347 6.6 Notable Vulnerabilities 343 Washington University FTP Daemon 348 CDE ToolTalk 34g Ettercap Version NG-0.7.2 349 6.7 Summary 34g 6.8 Further Reading Chapter 7 Concurrency 7.1 Multithreading 7.2 Parallelism Data Parallelism Task Parallelism 7.3 Performance Goals Amdahl’s Law 7.4 Common Errors Race Conditions 353 354 355 357 359 359 361 362 362
Contents xm Chapter 8 Corrupted Values 364 Volatile Objects 365 7.5 Mitigation Strategies 368 Memory Model 368 Synchronization Primitives 371 Thread Role Analysis (Research) 380 Immutable Data Structures 383 Concurrent Code Properties 383 7.6 Mitigation Pitfalls 384 Deadlock 386 Prematurely Releasing a Lock 391 Contention 392 The ABA Problem 393 7.7 Notable Vulnerabilities DoS Attacks in Multicore Dynamic Random-Access Memory 399 (DRAM) Systems 399 Concurrency Vulnerabilities in System Call Wrappers 400 7.8 Summary 401 File I/O 403 8.1 File I/O Basics 403 File Systems 404 Special Files 406 8.2 File I/O Interfaces 407 Data Streams 408 Opening and Closing Files 409 POSIX 410 File I/O in C++ 412 8.3 Access Control 413 UNIX File Permissions 413 Process Privileges 415 Changing Privileges 417 Managing Privileges 422 Managing Permissions 428 8.4 File Identification 432 Directory Traversal 432 Equivalence Errors 435 Symbolic Links 437 Canonicalization 439 Hard Links 442 Device Files 445 File Attributes 448 8.5 Race Conditions 450 Time of Check, Time of Use (TOCTOU) 451
xiv Contents Chapter 9 Create without Replace 453 Exclusive Access 456 Shared Directories 458 8.6 Mitigation Strategies 461 Closing the Race Window 462 Eliminating the Race Object 467 Controlling Access to the Race Object 469 Race Detection Tools 471 8.7 Summary 472 Recommended Practices 473 9.1 The Security Development Lifecycle 474 TSP-Secure 477 Planning and Tracking 477 Quality Management 479 9.2 Security Training 480 9.3 Requirements 481 Secure Coding Standards 481 Security Quality Requirements Engineering 483 Use/Misuse Cases 485 9.4 Design 486 Secure Software Development Principles 488 Threat Modeling 493 Analyze Attack Surface 494 Vulnerabilities in Existing Code 495 Secure Wrappers 496 Input Validation 497 Trust Boundaries 498 Blacklisting 501 Whitelisting 502 Testing 503 9.5 Implementation 503 Compiler Security Features 503 As-If Infinitely Ranged (AIR) Integer Model 505 Safe-Secure C/C++ 505 Static Analysis 506 Source Code Analysis Laboratory (SCALe) 510 Defense in Depth 511 9.6 Verification 512 Static Analysis 512 Penetration Testing 513 Fuzz Testing 513 Code Audits 515 Developer Guidelines and Checklists 516
Contents xv Independent Security Review 516 Attack Surface Review 517 9.7 Summary 518 9.8 Further Reading 518 References 519 Acronyms 539 Index 545
|
any_adam_object | 1 |
author | Seacord, Robert C. |
author_facet | Seacord, Robert C. |
author_role | aut |
author_sort | Seacord, Robert C. |
author_variant | r c s rc rcs |
building | Verbundindex |
bvnumber | BV041627277 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.9.A25 |
callnumber-search | QA76.9.A25 |
callnumber-sort | QA 276.9 A25 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 150 ST 250 |
classification_tum | DAT 460f DAT 358f |
ctrlnum | (OCoLC)842198821 (DE-599)BVBBV041627277 |
dewey-full | 005.8 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.8 |
dewey-search | 005.8 |
dewey-sort | 15.8 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 2. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02069nam a2200541 c 4500</leader><controlfield tag="001">BV041627277</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20170522 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">140205s2013 xxka||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">013932290</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321822130</subfield><subfield code="9">978-0-321-82213-0</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321822137</subfield><subfield code="9">0-321-82213-7</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)842198821</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV041627277</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxk</subfield><subfield code="c">GB</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-83</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-20</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.9.A25</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.8</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 150</subfield><subfield code="0">(DE-625)143594:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 460f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 358f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Seacord, Robert C.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Secure coding in C and C++</subfield><subfield code="c">Robert C. Seacord</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Secure coding in C and C plus plus</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2013</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXVII, 569 S.</subfield><subfield code="b">Ill.</subfield><subfield code="c">24 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">SEI series in software engineering</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">"A CERT book"...Cover. - Includes bibliographical references (p. 519-537) and index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer security</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareschwachstelle</subfield><subfield code="0">(DE-588)4752508-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computersicherheit</subfield><subfield code="0">(DE-588)4274324-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Softwareschwachstelle</subfield><subfield code="0">(DE-588)4752508-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Computersicherheit</subfield><subfield code="0">(DE-588)4274324-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027068258&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-027068258</subfield></datafield></record></collection> |
id | DE-604.BV041627277 |
illustrated | Illustrated |
indexdate | 2024-07-10T01:01:16Z |
institution | BVB |
isbn | 9780321822130 0321822137 |
language | English |
lccn | 013932290 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-027068258 |
oclc_num | 842198821 |
open_access_boolean | |
owner | DE-83 DE-858 DE-573 DE-91G DE-BY-TUM DE-20 |
owner_facet | DE-83 DE-858 DE-573 DE-91G DE-BY-TUM DE-20 |
physical | XXVII, 569 S. Ill. 24 cm |
publishDate | 2013 |
publishDateSearch | 2013 |
publishDateSort | 2013 |
publisher | Addison-Wesley |
record_format | marc |
series2 | SEI series in software engineering |
spelling | Seacord, Robert C. Verfasser aut Secure coding in C and C++ Robert C. Seacord Secure coding in C and C plus plus 2. ed. Upper Saddle River, NJ [u.a.] Addison-Wesley 2013 XXVII, 569 S. Ill. 24 cm txt rdacontent n rdamedia nc rdacarrier SEI series in software engineering "A CERT book"...Cover. - Includes bibliographical references (p. 519-537) and index Computer security C (Computer program language) C++ (Computer program language) C Programmiersprache (DE-588)4113195-2 gnd rswk-swf Softwareschwachstelle (DE-588)4752508-3 gnd rswk-swf Computersicherheit (DE-588)4274324-2 gnd rswk-swf C Programmiersprache (DE-588)4113195-2 s Softwareschwachstelle (DE-588)4752508-3 s Computersicherheit (DE-588)4274324-2 s DE-604 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027068258&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Seacord, Robert C. Secure coding in C and C++ Computer security C (Computer program language) C++ (Computer program language) C Programmiersprache (DE-588)4113195-2 gnd Softwareschwachstelle (DE-588)4752508-3 gnd Computersicherheit (DE-588)4274324-2 gnd |
subject_GND | (DE-588)4113195-2 (DE-588)4752508-3 (DE-588)4274324-2 |
title | Secure coding in C and C++ |
title_alt | Secure coding in C and C plus plus |
title_auth | Secure coding in C and C++ |
title_exact_search | Secure coding in C and C++ |
title_full | Secure coding in C and C++ Robert C. Seacord |
title_fullStr | Secure coding in C and C++ Robert C. Seacord |
title_full_unstemmed | Secure coding in C and C++ Robert C. Seacord |
title_short | Secure coding in C and C++ |
title_sort | secure coding in c and c |
topic | Computer security C (Computer program language) C++ (Computer program language) C Programmiersprache (DE-588)4113195-2 gnd Softwareschwachstelle (DE-588)4752508-3 gnd Computersicherheit (DE-588)4274324-2 gnd |
topic_facet | Computer security C (Computer program language) C++ (Computer program language) C Programmiersprache Softwareschwachstelle Computersicherheit |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027068258&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT seacordrobertc securecodingincandc AT seacordrobertc securecodingincandcplusplus |