General

General

Check

Category

Chapter

Code compiled with GS (if using Visual C++ .NET)

5

Debug builds compiled with RTC1 (if using Visual C++ .NET)

5

Check all untrusted input is verified prior to being used or stored

10

All buffer management functions are safe from buffer overruns

5

Review Strsafe.h for potential use in your code

5

Review the latest update of dangerous or outlawed functions

Appendix A

All DACLs well formed and good not NULL or Everyone (Full Control)

6

No hard-coded 14-character password fields (should be at least PWLEN + 1 for NULL, PWLEN is defined in LMCons.h, and is 256)

23

No references to any internal resources (server names, user names) in code

23

Security support provider calls not hard-coded to NTLM (use Negotiate)

16

Temporary file names are unpredictable

23

Calls to CreateProcess[AsUser] do not have NULL as first argument if you know the full path name to the .EXE

23

Unauthenticated connections cannot consume large resources

17

Error messages do no give too much info to an attacker

24

Highly privileged processes are scrutinized by more than one person does the process require elevated privileges?

7

Security sensitive code is commented appropriately

23

No decisions made on the name of files

11

Check that file requests are not for devices (i.e., COM1, PRN, etc.)

11

No shared or writable PE segments

23

No user data written to HKLM in the registry

7

No user data written to c:\program files

7

No resources opened for GENERIC_ALL, when lesser permissions will suffice

7

Application allows binding to appropriate IP address, rather than 0 or INADDR_ANY

15

Exported APIs with byte count vs. word count documented

5

Impersonation function return values checked

23

For every impersonation, there is a revert

7, 23

Service code does not create windows and is not marked interactive

23

Web and Database-Specific

Check

Category

Chapter

No Web page issues output based on unfiltered output

13

No string concatenation for SQL statements

12

No connections to SQL Server as sa

12

No ISAPI applications running in process with IIS 5

13

Force a codepage in all Web pages

13

No use of eval function with untrusted input in server pages

13

No reliance on REFERER header

13

Any client-side access and validity checks are performed on the server also

23



Writing Secure Code
Writing Secure Code, Second Edition
ISBN: 0735617228
EAN: 2147483647
Year: 2001
Pages: 286

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net