SlideShare a Scribd company logo
Manual Code Review
- Sandesh Anand
anand.sandesh@gmail.com
www.linkedin.com/in/anandsandesh/
Who am I?
• Security Consultant at Cigital Inc.
• Ex-Developer
• Areas of interest
– Static analysis
– Helping developers fix security bugs
– Web App pen testing
– Curious about all things security
What are we talking about?
• Why review code?
• Automated v/s Manual review
• Manual review – 10,000 ft. view
• Manual code review in 60 seconds
Why review code?
• Finding bugs early in the lifecycle is cheaper
• Different visibility to code
– Reach all parts of code
– Some issues only visible in code review (examples in the
Demo)
– Helps in identifying “where” the problem is
Why review code?
• So, pen testing is useless, right? Not quite.
Why not?
– Don’t want to be killed by a room full of pen-
testers
– Better at proving “exploitability”
– Makes it easier to evangelize security it an
organization
– Coverage different from code review (e.g.: Issues
in application sever configuration)
– Understand what a hacker is looking at
Automated v/s Manual
This topic never ends. Here are some highlights:
• Automated tools can plough through more code
at lesser time. Very useful for large applications
• Manual code review uses knowledge available to
the tester
• Tool support for certain programming languages
stronger than the other (Java v/s Perl)
• Quality of manual review depends on individual
And so on…..
Bottom line: Use both in a complimentary manner
Manual review – 10,000 ft. view
• Understand the application
– Purpose of the application
– Flow of the application
– Technologies used
– Environment (type of DB, frameworks, AppServer etc.)
– Business logic
– Etc.
• Understand the approach to security controls:
– Authentication and Authorization
– Handling un-trusted data
– Handling sensitive information
– Session handling
– Network boundaries
– Error handling and logging
– Misuse of security related APIs (crypto, randomness etc.)
– Etc.
• Look for specific vulnerabilities
– Issues common to most applications (e.g.: Race condition, resource management, information leakage,
validation routines)
– Language specific issues (e.g.: Format string attacks in C)
– Framework specific issues (e.g.: review ACEGI configuration)
– Looking for malicious code/ Insider threat
Manual code review in 60 seconds
Manual code review in 60 seconds
• Understand the application
• Review security control (Hint: Pick logging)
• Look for specific vulnerabilities
Questions?

More Related Content

What's hot (20)

PPTX
Microservices architecture
Faren faren
 
DOCX
Software requirement specification
Amit Gandhi
 
PDF
ng-owasp: OWASP Top 10 for AngularJS Applications
Kevin Hakanson
 
PDF
Istio on Kubernetes
Daneyon Hansen
 
PDF
Wireshark Tool - Features & Benefits.pdf
DataSpace Academy
 
PDF
JSON Web Tokens
Ivan Rosolen
 
PPTX
routing.pptx
mounikanarra3
 
PPT
Make Your API Catalog Essential with z/OS Connect EE
Teodoro Cipresso
 
PPTX
React js
Alireza Akbari
 
PPTX
Veeam presentation v7
Abdelkrim Maarouf
 
ODP
An Introduction to Windows PowerShell
Dale Lane
 
PPT
Load testing using_neoload by kc
krishna chaitanya
 
PDF
테스트수행사례 W통합보안솔루션
SangIn Choung
 
DOCX
IBM Websphere concepts
Kuldeep Saxena
 
PPT
Srs
sunil dutt
 
PPTX
Employee Tracking System
Kiran Girase
 
PDF
Devfest Cerrado: Angular 2
Loiane Groner
 
PDF
Spring security oauth2
axykim00
 
PPTX
Introduction to appDynamics
Siddhanta Rath
 
PPTX
CQRS and what it means for your architecture
Richard Banks
 
Microservices architecture
Faren faren
 
Software requirement specification
Amit Gandhi
 
ng-owasp: OWASP Top 10 for AngularJS Applications
Kevin Hakanson
 
Istio on Kubernetes
Daneyon Hansen
 
Wireshark Tool - Features & Benefits.pdf
DataSpace Academy
 
JSON Web Tokens
Ivan Rosolen
 
routing.pptx
mounikanarra3
 
Make Your API Catalog Essential with z/OS Connect EE
Teodoro Cipresso
 
React js
Alireza Akbari
 
Veeam presentation v7
Abdelkrim Maarouf
 
An Introduction to Windows PowerShell
Dale Lane
 
Load testing using_neoload by kc
krishna chaitanya
 
테스트수행사례 W통합보안솔루션
SangIn Choung
 
IBM Websphere concepts
Kuldeep Saxena
 
Employee Tracking System
Kiran Girase
 
Devfest Cerrado: Angular 2
Loiane Groner
 
Spring security oauth2
axykim00
 
Introduction to appDynamics
Siddhanta Rath
 
CQRS and what it means for your architecture
Richard Banks
 

Viewers also liked (7)

PPTX
Protecting Mission-Critical Source Code from Application Security Vulnerabili...
IBM Security
 
PPT
Analysis of Software Development Life Cycle and Quality Management
Abhay Yadav
 
PPT
Code Review
rantav
 
PPTX
Quality Assurance in Software Ind.
Heritage Institute Of Tech,India
 
PPT
1 Quality Assurance Presentation
guest337c19
 
PPT
Introduction To Software Quality Assurance
ruth_reategui
 
PPT
requirements analysis and design
Preeti Mishra
 
Protecting Mission-Critical Source Code from Application Security Vulnerabili...
IBM Security
 
Analysis of Software Development Life Cycle and Quality Management
Abhay Yadav
 
Code Review
rantav
 
Quality Assurance in Software Ind.
Heritage Institute Of Tech,India
 
1 Quality Assurance Presentation
guest337c19
 
Introduction To Software Quality Assurance
ruth_reategui
 
requirements analysis and design
Preeti Mishra
 
Ad

Similar to Manual Code Review (20)

PPTX
Capability Building for Cyber Defense: Software Walk through and Screening
Maven Logix
 
PPTX
Code Reviews
phildenoncourt
 
PDF
Rolling Out An Enterprise Source Code Review Program
Denim Group
 
PPT
Code reviews: a short introduction
FreekDB
 
PPT
Code Review
Ravi Raj
 
PDF
Code-Review-Principles-Process-and-Tools (1)
Aditya Bhuyan
 
PDF
Secure Code Review 101
Narudom Roongsiriwong, CISSP
 
PPTX
Unit3 software review control software
Reetesh Gupta
 
PPT
4.Security Assessment And Testing
phanleson
 
PDF
How to do code review and use analysis tool in software development
Mitosis Technology
 
PPTX
Static Code Analysis
Obika Gellineau
 
PDF
Effective code reviews
Sebastian Marek
 
DOCX
Aardwolf Security's Expert Code Review Services
Aardwolf Security
 
PDF
Code Reviews Inside Out
Ines Jelovac
 
PPTX
Manual Testing Types Used in Software Testing
seojayeshts
 
PDF
Voxxed days 2015-hakansaglam-codereview
Hakan Saglam
 
PPS
ISTQB Foundation - Chapter 3
Chandukar
 
PPTX
Peering into the white box: A testers approach to Code Reviews
Alan Page
 
PPTX
Code_Review_Presentation_v22222_LLM.pptx
SofienBoutaib
 
PDF
Code reviews
Juan Maiz
 
Capability Building for Cyber Defense: Software Walk through and Screening
Maven Logix
 
Code Reviews
phildenoncourt
 
Rolling Out An Enterprise Source Code Review Program
Denim Group
 
Code reviews: a short introduction
FreekDB
 
Code Review
Ravi Raj
 
Code-Review-Principles-Process-and-Tools (1)
Aditya Bhuyan
 
Secure Code Review 101
Narudom Roongsiriwong, CISSP
 
Unit3 software review control software
Reetesh Gupta
 
4.Security Assessment And Testing
phanleson
 
How to do code review and use analysis tool in software development
Mitosis Technology
 
Static Code Analysis
Obika Gellineau
 
Effective code reviews
Sebastian Marek
 
Aardwolf Security's Expert Code Review Services
Aardwolf Security
 
Code Reviews Inside Out
Ines Jelovac
 
Manual Testing Types Used in Software Testing
seojayeshts
 
Voxxed days 2015-hakansaglam-codereview
Hakan Saglam
 
ISTQB Foundation - Chapter 3
Chandukar
 
Peering into the white box: A testers approach to Code Reviews
Alan Page
 
Code_Review_Presentation_v22222_LLM.pptx
SofienBoutaib
 
Code reviews
Juan Maiz
 
Ad

More from n|u - The Open Security Community (20)

PDF
Hardware security testing 101 (Null - Delhi Chapter)
n|u - The Open Security Community
 
PPTX
SSRF exploit the trust relationship
n|u - The Open Security Community
 
PDF
Metasploit primary
n|u - The Open Security Community
 
PDF
Api security-testing
n|u - The Open Security Community
 
PDF
Introduction to TLS 1.3
n|u - The Open Security Community
 
PDF
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
n|u - The Open Security Community
 
PDF
Talking About SSRF,CRLF
n|u - The Open Security Community
 
PPTX
Building active directory lab for red teaming
n|u - The Open Security Community
 
PPTX
Owning a company through their logs
n|u - The Open Security Community
 
PPTX
Introduction to shodan
n|u - The Open Security Community
 
PDF
Detecting persistence in windows
n|u - The Open Security Community
 
PPTX
Frida - Objection Tool Usage
n|u - The Open Security Community
 
PDF
OSQuery - Monitoring System Process
n|u - The Open Security Community
 
PDF
DevSecOps Jenkins Pipeline -Security
n|u - The Open Security Community
 
PDF
Extensible markup language attacks
n|u - The Open Security Community
 
PPTX
Linux for hackers
n|u - The Open Security Community
 
PDF
Android Pentesting
n|u - The Open Security Community
 
Hardware security testing 101 (Null - Delhi Chapter)
n|u - The Open Security Community
 
SSRF exploit the trust relationship
n|u - The Open Security Community
 
Api security-testing
n|u - The Open Security Community
 
Introduction to TLS 1.3
n|u - The Open Security Community
 
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
n|u - The Open Security Community
 
Talking About SSRF,CRLF
n|u - The Open Security Community
 
Building active directory lab for red teaming
n|u - The Open Security Community
 
Owning a company through their logs
n|u - The Open Security Community
 
Introduction to shodan
n|u - The Open Security Community
 
Detecting persistence in windows
n|u - The Open Security Community
 
Frida - Objection Tool Usage
n|u - The Open Security Community
 
OSQuery - Monitoring System Process
n|u - The Open Security Community
 
DevSecOps Jenkins Pipeline -Security
n|u - The Open Security Community
 
Extensible markup language attacks
n|u - The Open Security Community
 

Recently uploaded (20)

PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PDF
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
PDF
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
PPTX
How to Manage Promotions in Odoo 18 Sales
Celine George
 
DOCX
A summary of SPRING SILKWORMS by Mao Dun.docx
maryjosie1
 
PPTX
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
PPT
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
PDF
Federal dollars withheld by district, charter, grant recipient
Mebane Rash
 
PPTX
How to Configure Lost Reasons in Odoo 18 CRM
Celine George
 
PPTX
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
PPTX
Quarter1-English3-W4-Identifying Elements of the Story
FLORRACHELSANTOS
 
PDF
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PPTX
How to Set Maximum Difference Odoo 18 POS
Celine George
 
PDF
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
How to Manage Access Rights & User Types in Odoo 18
Celine George
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PDF
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
How to Manage Promotions in Odoo 18 Sales
Celine George
 
A summary of SPRING SILKWORMS by Mao Dun.docx
maryjosie1
 
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
Federal dollars withheld by district, charter, grant recipient
Mebane Rash
 
How to Configure Lost Reasons in Odoo 18 CRM
Celine George
 
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
Quarter1-English3-W4-Identifying Elements of the Story
FLORRACHELSANTOS
 
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
How to Set Maximum Difference Odoo 18 POS
Celine George
 
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
How to Manage Access Rights & User Types in Odoo 18
Celine George
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 

Manual Code Review

  • 1. Manual Code Review - Sandesh Anand [email protected] www.linkedin.com/in/anandsandesh/
  • 2. Who am I? • Security Consultant at Cigital Inc. • Ex-Developer • Areas of interest – Static analysis – Helping developers fix security bugs – Web App pen testing – Curious about all things security
  • 3. What are we talking about? • Why review code? • Automated v/s Manual review • Manual review – 10,000 ft. view • Manual code review in 60 seconds
  • 4. Why review code? • Finding bugs early in the lifecycle is cheaper • Different visibility to code – Reach all parts of code – Some issues only visible in code review (examples in the Demo) – Helps in identifying “where” the problem is
  • 5. Why review code? • So, pen testing is useless, right? Not quite. Why not? – Don’t want to be killed by a room full of pen- testers – Better at proving “exploitability” – Makes it easier to evangelize security it an organization – Coverage different from code review (e.g.: Issues in application sever configuration) – Understand what a hacker is looking at
  • 6. Automated v/s Manual This topic never ends. Here are some highlights: • Automated tools can plough through more code at lesser time. Very useful for large applications • Manual code review uses knowledge available to the tester • Tool support for certain programming languages stronger than the other (Java v/s Perl) • Quality of manual review depends on individual And so on….. Bottom line: Use both in a complimentary manner
  • 7. Manual review – 10,000 ft. view • Understand the application – Purpose of the application – Flow of the application – Technologies used – Environment (type of DB, frameworks, AppServer etc.) – Business logic – Etc. • Understand the approach to security controls: – Authentication and Authorization – Handling un-trusted data – Handling sensitive information – Session handling – Network boundaries – Error handling and logging – Misuse of security related APIs (crypto, randomness etc.) – Etc. • Look for specific vulnerabilities – Issues common to most applications (e.g.: Race condition, resource management, information leakage, validation routines) – Language specific issues (e.g.: Format string attacks in C) – Framework specific issues (e.g.: review ACEGI configuration) – Looking for malicious code/ Insider threat
  • 8. Manual code review in 60 seconds
  • 9. Manual code review in 60 seconds • Understand the application • Review security control (Hint: Pick logging) • Look for specific vulnerabilities