Reverse Engineering v/s Secure Coding.. What is Secure Coding? Is Secure Coding simply avoiding certain already discovered vulnerable functions? Is Secure.

Slides:



Advertisements
Similar presentations
Dynamic Analysis of Windows Phone 7 apps Behrang Fouladi, SensePost.
Advertisements

Implications and Security Issues of the Internet By Neelesh Patel.
Samford University Virtual Supercomputer (SUVS) Brian Toone 4/14/09.
Will Wireless Gaming Be a Winner? February 1, 2007 Sumit Rohit Thaker Sung Ho Hwang.
IS Terms and Introductory Concepts. Contemplative Questions What is an information system? What is an information system? Why do we care about the difference.
For more Lectures and Notes Visit
Reverse Engineering Ian Kayne For School of Computer Science, University of Birmingham 2 nd February 2009.
© 2014 The MITRE Corporation. All rights reserved. Approved for Public Release: Case # iOS App Integrity – Got Any? Research Team: Gregg Ganley(PI)
Senior Design May AbstractDesign Alex Frisvold Alex Meyer Nazmus Sakib Eric Van Buren Our project is to develop a working emulator for an Android.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Online Job Portal with Exam
Advanced OOP MCS-3 OOP BSCS-3 Lecture # 1
Code Injection and Software Cracking’s Effect on Network Security Group 5 Jason Fritts Utsav Kanani Zener Bayudan ECE 4112 Fall 2007.
Chapter 0: Introduction CSCI-UA 0002 – Introduction to Computer Programming Mr. Joel Kemp.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
Trying to like a boss… REVERSE ENGINEERING. WHAT EVEN IS… REVERSE ENGINEERING?? Reverse engineering is the process of disassembling and analyzing a particular.
Application Security Tom Chothia Computer Security, Lecture 14.
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
A Survey of Mobile Cloud Computing Application Models
CSCE 548 Code Review. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 4 – Recommended: Best Practices for Peer Code Review,
What is a Computer? An, electrical machine, that can be programmed to accept data (input), process it into useful information (output) and store it away.
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
1 22 August 2001 The Security Architecture of the M&M Mobile Agent Framework P. Marques, N. Santos, L. Silva, J. Silva CISUC, University of Coimbra, Portugal.
‘Tirgul’ # 7 Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul #7.
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
CS266 Software Reverse Engineering (SRE) Reversing and Patching Java Bytecode Teodoro (Ted) Cipresso,
EECS 354 Network Security Reverse Engineering. Introduction Preventing Reverse Engineering Reversing High Level Languages Reversing an ELF Executable.
Vikas Gonti. Dictionary Meaning: To confuse, to make obscure a problem with extraneous information or to darken. - In Terms of Technology:
A practical overview on how the bad guys adopt and circumvent security initiatives Commercial – in - Confidence Alex Shipp Imagineer.
Analyzing Malicious Code Nicolas Brulez Ryan Russell Disassembly with a time constraint Recon 2005.
Tony Malatanos. Focal Points  What is reverse engineering?  Reasons Legit Malicious  Legality  Morality  Clean Room Design  Example: ReactOS.
October 11-14, Seattle, WA Top 10 Ways To Break Your Deployments Or: How to Avoid Your Sorry Fate Dev Nambi Senior Software Engineer Microsoft.
Copyright © 2015 Cyberlight Global Associates Cyberlight GEORGIAN CYBER SECURITY & ICT INNOVATION EVENT 2015 Tbilisi, Georgia19-20 November 2015 Hardware.
Copyright © 2015 SolutionsIQ Inc. All rights reserved. Branching for CD? Think again ! Devesh Chanchlani.
ITP 109 Week 2 Trina Gregory Introduction to Java.
Mobile Programming Mobile Programming - Ordibehesht Ordibehesht 1390.
Introduction to JAVA Programming
Software Engineering Algorithms, Compilers, & Lifecycle.
 This work confers an application which makes possible to use a Bluetooth enabled mobile phone to remote control home appliances such electric fan, LEDs.
(Part 1). Before we get started…  Why Facebook? Built in Audience ○ 800 Million users as of July 1 st 2011 ○ Users “share” applications with each other,
Reverse Engineering Contemporary Countermeasures By: Joshua Schwartz.
Windows App Studio Windows App Studio is the tool that makes it fast and easy to build Windows 10 apps. It’s accessible from any device with a browser.
Mobile Application Solution
Secure Programming Dr. X
Object Oriented Programming in
Visit for more Learning Resources
Cyber Security for REDCap Extended Features Protecting REDCap extended features (Twilio, Mobile App, API, and more). – Staying ahead of the bad guys.
Secure Programming Dr. X
For Beginners Mike Buhmann Reference Librarian.
TaintART: A Practical Multi-level Information-Flow Tracking System for Android RunTime Sadiq Basha.
R4H Reversing for Humans
Mobile Application Solution
How We Think Of Computers
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
Sioux Falls OWASP Jan-2018 Mobile Top 10
Chap 10 Malicious Software.
Value of CSTA in the Marketplace
Rdio Case Study.
Stephen W Thomas Using BizTalk Server as your Foundation to the Clouds
Introducing the .NET Framework
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Chap 10 Malicious Software.
Android Introduction Platform Mihail L. Sichitiu.
Java History, Editions, Version Features
Authentication of Electronics for Arms Control
Assoc. Prof. Hussam Elbehiery
PERFECT 10 Key reasons why your customers need the best Windows devices Windows 7 is reaching the end of its support, meaning there has never been.
Chapter 3 Software.
TEN OUT OF TEN Why you need the best Windows yet on new devices
Presentation transcript:

Reverse Engineering v/s Secure Coding.

What is Secure Coding? Is Secure Coding simply avoiding certain already discovered vulnerable functions? Is Secure Coding simply avoiding certain already discovered vulnerable functions? What about Tons of Commercial applications that are released everyday? What about Tons of Commercial applications that are released everyday? Software Crackers (Reverse Engineers) causing Millions of Dollars of loss Globally due to Software Piracy. Software Crackers (Reverse Engineers) causing Millions of Dollars of loss Globally due to Software Piracy. Are you Programmers taking your Job seriously? Are you Programmers taking your Job seriously?

Cryptography?...Hmm… Cryptography in Application Registration routines don’t make sense. Cryptography in Application Registration routines don’t make sense. Cryptographic Algorithm adds to the applications’ size & is Processor intense. Cryptographic Algorithm adds to the applications’ size & is Processor intense. Cryptographic Algorithm in Registration routines can be either completely ripped off or totally bypassed and they pose no challenge to a Cracker. Cryptographic Algorithm in Registration routines can be either completely ripped off or totally bypassed and they pose no challenge to a Cracker.

Packers & Protectors? What are Packers? What are Packers? What are Protectors? What are Protectors? Packers make Sense but Protectors don’t ! Packers make Sense but Protectors don’t ! Packers == very easy to defeat. Packers == very easy to defeat. Protectors == who cares to defeat ? Protectors == who cares to defeat ? Virtual Machines?.... Not again! Virtual Machines?.... Not again!

.Net & Java == Not Cool? Decompilation & not Disassembling. Decompilation & not Disassembling..Net is M$’s take on Java..Net is M$’s take on Java..class files &.net executables rely heavily on Runtime Environment Components..class files &.net executables rely heavily on Runtime Environment Components. Damn easy to break code and Damn tough to prevent us from Tampering with your App. Damn easy to break code and Damn tough to prevent us from Tampering with your App.

Mobile Devices…. Yeah! Sony Ericsson’s “.Sest” Feature talked about for the first time ever! Sony Ericsson’s “.Sest” Feature talked about for the first time ever! J2me applications built for Mobile Devices should be “Freewares”. J2me applications built for Mobile Devices should be “Freewares”. J2me Trojans can be very easy to code. J2me Trojans can be very easy to code. Don’t even want to talk about Sony Ericsson & Siemens’ “Phone Modding”. Don’t even want to talk about Sony Ericsson & Siemens’ “Phone Modding”.

Can I Tackle R.E ? Technically Speaking? No you Can’t! Technically Speaking? No you Can’t! Logically ? Bore us to Death! Logically ? Bore us to Death! How? How? a] Use spaghetti Code. a] Use spaghetti Code. b] Jump all over the Place. b] Jump all over the Place. c] Learn Polymorphism. c] Learn Polymorphism. d] Learn to use your “Imagination” as a tool. d] Learn to use your “Imagination” as a tool. e] Think like a Reverse Engineer! e] Think like a Reverse Engineer!

“Thinking Before Writing, saves the time spent in Editing.” –Pirated. Thank You. Atul Alex Cherian,