2. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
What are you getting:
2
1 2 3 4
5 6
3. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
OSI Model
3
4. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
4
5. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Development Problems
• Buffer Overflow
Buffer which crosses the volume of information allocated to it in
a timely manner. It allows attackers to travel outside the buffer
and overwrite important information to continue running the
program.
In many, utilizing this weakness allows running code injected by
the attacker.
5
6. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Development Problems
• DOS- Denial Of Service
Ping of death- Due to increased bandwidth browsing, this attack
does not pose a risk.
Local Denial of Service:
"Stealing" all possible memory from the operating system, as
well as prevention service by blocking the regular work with your
computer.
6
7. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Development Problems
Distributed Denial of Service:
Many different points make one or more requests for a
particular service any network and is usually carried out through
many computers controlled by a single operator.
• Code Injection
Cross Site Scripting
HTML/Javascript/ SQL injection
The user can enter any code to run it through the software, and
do whatever the spirit through the code they injected.
7
8. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Development Problems
• Race Condition- Resource Condition
Resource conflicts in software refers to the fact that the resource
is used by more than one code divides the software (memory
disposed).
8
9. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Myths
If no one knows about a problem, you can not take
advantage of - security by obscurity.
Safe programming language - many high languages provide
the feeling that they are clean and devoid of problems but it
can contain more security issues and bugs that exist in the
world.
Passwords mashed in one way - files containing passwords
scrambled. The attackers can not retrieve the password so
they will read the information unidirectional scrambled and
use the password itself.
Nothing can break the software
You can fix and solve problems "on the go"
9
10. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Assumptions
QA staff able to locate problems and fix them
The user would not hurt to information or Software
Foundation
The program will only be used for its original target
appropriate
Compiled code into machine language can not be
interpreted
Coding of symbols machine language is a form of protection
10
11. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Programming Principles correct software security
11
Check out all the input you receive, including those from the
command line, environment variables, and other data
Do not mark only "bad“ input. Know also check what input
"good."
Prevent Buffer Overflow everywhere. Pay particular attention to
long inputs and give them the opportunity to take over the
functionality of your system.
12. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Programming Principles correct software security
12
Remember to build your program correctly - Prevent high privileges,
reboot the system with parameters correct and safe, plan what you will do
when there is a system failure prevented Race Conditions and Use Safe
channels only.
Use caution system calls to external libraries.
Rebate information system carefully, only what is needed and
nothing more. Do not expose data internal.
14. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Vendors
The Web Application
Vulnerability Scanners
Benchmark, 2012
http://sectooladdict.blogspot
.co.il/2012/07/2012-web-
application-scanner-
benchmark.html
14
15. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Recommendations
1) Mixing of information security in all phases of the project - from the initial
stages (sometimes stop project at this stage because of applicability or
security risk) continued analysis phase, encoding to various stages of testing.
2) Automated testing tools during encoding. Ideally the code is tested all the
time every day.
3) Dedicated Source survey depth testing phase the issue of information
security.
4) Penetration code tests.
5) Procedures for developing information security "do and do not" on any
technology.
6) Basic training of all developers and more advanced training for developers
who are "Security trustees."
15
16. Sigal Russin’s work/ Copyright@2014
Do not remove source or attribution from any slide, graph or portion of graph
Thank You!
Sigalr@stki.info
Notas do Editor
software
לחוצץ אשר חוצה את נפח המידע שהוקצה לו מבעוד מועד. חריגה זו מאפשרת לתוקפים לצאת מגבולות החוצץ וכך לשכתב מידע חשוב להמשך ריצת התוכנית. במקרים
רבים, ניצול חולשה זו מאפשר הרצת קוד המוזרק על ידי התוקף
רקורסיה ללא תנאי עצירה אשר בצורה אין סופית יוצרת עוד רקורסיה עד ”אין סוף“,
כאשר ה"אין הסוף" הזה הוא המשאבים של מערכת ההפעלה הפנויים במערכת. למרות שזו דוגמה
סטטית, עדיין קיימת מניעת שירות לכל דבר בשל "גניבת" כל זיכרון אפשרי ממערכת ההפעלה, וכן מניעת
שירות על ידי חסימת עבודה סדירה עם המחשב.
מניעת שירות שכזו גורמת לנקודות שונות ורבות לבצע בקשה אחת או יותר כלפי שירות מסויים .(Service
ברשת כלשהי והיא בדרך כלל מתבצעת באמצעות מחשבים רבים בשליטתו של מפעיל בודד, כאשר
התקפה זו מצליחה ברוב המקרים משום שיש הרבה מאוד בקשות בו .zombies מחשבים אלו נקראים
זמנית והשירות לא מסוגל לענות לכל הבקשות. במקרה הטוב השירות רק נחסם לעוד בקשות ובמקרה
הרע גורם למערכת לקרוס מחוסר במשאבים פנויים להתמודד עם הבקשות השונות, גם לאחר
שהמתקפה מסתיימת.
בעיית התנגשות המשאבים בתוך תוכנה מתייחסת לכך שאותו משאב נמצא בשימוש של יותר מחלק קוד אחד בתוכנה (גריעת זיכרון)
לא מעט מבעיות האבטחה והבאגים הנמצאים בתוכנה נוצרים עקב חוסר מעקב או התעלמות של
המתכנתים מהודעות המהדר או המפרשים. מעבר לכך, מתכנתים רבים חושבים שאם הקוד שלהם
מפורש או מהודר, אז הוא לא מכיל בעיות כלשהן או שלפחות את חלקן ניתן לנצל נגד התכנה או המחשב
המריץ אותם.
קריאה זהירה לספריות חיצוניות או "בטוחות" שהמערכת כבר עושה שימשו בהם
קריאה עם פרמטרים מאומתים
פלט תקין
הגבלת הפורמט של נתוני הקלט