About Yasca Date : Test : Windows XP Professional ServicePack 3 Written by STG Security 천영철 URL :

Similar documents
Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

6주차.key

PRO1_02E [읽기 전용]

untitled

슬라이드 1

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

DocsPin_Korean.pages

User's Guide Manual

PowerPoint 프레젠테이션

Portal_9iAS.ppt [읽기 전용]

KYO_SCCD.PDF

Dialog Box 실행파일을 Web에 포함시키는 방법

4S 1차년도 평가 발표자료

블로그_별책부록

내지무인화_

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

chapter4

PowerPoint 프레젠테이션

3장

제목을 입력하세요.

Deok9_Exploit Technique

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Interstage5 SOAP서비스 설정 가이드

Remote UI Guide

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

LXR 설치 및 사용법.doc

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

기술문서 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라.

Intro to Servlet, EJB, JSP, WS

PowerPoint 프레젠테이션

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

UNIST_교원 홈페이지 관리자_Manual_V1.0

ISO17025.PDF

Contents Contents 2 1 Abstract 3 2 Infer Checkers Eradicate Infer....

강의10

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

10X56_NWG_KOR.indd

** 5 개이발생한주요소프트웨어별취약점세 EDB 번호취약점종류공격난이도공격위험도취약점이름소프트웨어이름

Week13

Orcad Capture 9.x

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

½ÅÇÑsr_±¹¹®Æîħ

½ÅÇÑsr_±¹¹®Æîħ

Voice Portal using Oracle 9i AS Wireless

슬라이드 1

교육2 ? 그림

PRO1_09E [읽기 전용]

Cache_cny.ppt [읽기 전용]

슬라이드 1

ISP and CodeVisionAVR C Compiler.hwp

<32B1B3BDC32E687770>

uFOCS

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

ETL_project_best_practice1.ppt

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

No Slide Title

NTD36HD Manual

1

J2EE & Web Services iSeminar

슬라이드 1

Secure Programming Lecture1 : Introduction

chapter1,2.doc

Manufacturing6

ArcGIS Desktop 9.2 Install Guide

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft Word - 김완석.doc

MAX+plus II Getting Started - 무작정따라하기

슬라이드 1

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

PRO1_04E [읽기 전용]

Journal of Educational Innovation Research 2018, Vol. 28, No. 4, pp DOI: * A S

월간 CONTENTS 3 EXPERT COLUMN 영화 점퍼 와 트로이목마 4 SPECIAL REPORT 패치 관리의 한계와 AhnLab Patch Management 핵심은 패치 관리, 왜? 8 HOT ISSUE 2016년에 챙겨봐야 할 개인정보보호

삼성955_965_09

PCServerMgmt7

<353020B9DAC3E1BDC42DC5ACB6F3BFECB5E520C4C4C7BBC6C3BFA1BCADC0C720BAB8BEC820B0EDB7C1BBE7C7D7BFA120B0FCC7D120BFACB1B82E687770>

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

ICAS CADWorx SPLM License 평가판설치가이드

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

초보자를 위한 ASP.NET 2.0

02 C h a p t e r Java

슬라이드 1

歯처리.PDF

초보자를 위한 자바 2 21일 완성 - 최신개정판

06_ÀÌÀçÈÆ¿Ü0926

Facebook API

2013년 1회 정보처리산업기사 실기.hwp

초보자를 위한 C++

Journal of Educational Innovation Research 2017, Vol. 27, No. 4, pp DOI: * A Study on Teache

슬라이드 1

Chapter 1

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

#KLZ-371(PB)

RVC Robot Vaccum Cleaner

C++-¿Ïº®Çؼ³10Àå

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

#KM560

Sena Device Server Serial/IP TM Version

Transcription:

About Yasca Date : 10. 10. 20 Test : Windows XP Professional ServicePack 3 Written by STG Security 천영철 E-mail : Security4u@gmail.com URL : http://incle.org

Introduction to Yasca 1. Purpose Yasca는개발자가 Application Program을설계하였을때 Source Code에대한취약점및올바른 Source Code가되도록알려주는 Open Source Program이다. 이프로그램은여러가지언어및형식에대한버그를찾아주며올바른프로그램이되도록유도한다. 소스에대한 Scanning이종료된후 html, Csv, Xml 등으로보고서출력이가능하며 OWASP 보안프로젝트에소프트웨어보안도구내리뷰가소개된적있으며현재프로젝트진행중이다. http://www.owasp.org/index.php/category%3aowasp_project 대부분의문제점은 Yasca 에의해발견되지만이외의문제점은좀더세부적읶진단을위해작성된 여러가지 Plugins 로구성되어있다. Yasca 의개발자들은더안전한 Application Program 을개발할수있도록도와주는데에목적이 있고오래전부터많은프로그램들및소스코드진단에대한발전되어온유용하고사용하기쉬욲 도구이다. Yasca 를사용하려면다음과같은조건을갖추어야한다. Conditions Windows 2000 이후버전 Php( 윈도우바이너리가포함되어진 ) Java JRE OR JDK v1.4 이후버전 512램 2. Local Installation 최종적으로 Yasca 는다음과같은방식으로진행된다. Step 1: http://yasca.org 에서바이너리파읷다욲로드 Step 2: Unix : yasca./resources/test Windows : yasca resources/test Step 3: 바탕화면폴더내에만들어진보고서확읶 레지스트리를이용홖경변수추가하면오른쪽마우스클릭을통해조금더편안하게사용할수있음 HKLM\SOFTWARE\Classes\Folder\shell\Yasca!\command

그림 1 Yasca Exmples 을보고그대로사용할수있으나읷반적으로 Directory 를지정해주기만하면된다. 3. Plugins 그림 2 Using Plugins Plugins 를통해사용하는장면 Plugins 는 download 되어진파읷에모두포함되어있으며반드시 Directory 내에서함께실행되어야한다. 사용할수있는 Plugins 와소스코드를반듯이확읶하여사용하길바란다.

Yasca 에서는여러가지 Plugins 를사용할수있는데대표 Plugins 는다음과같다 Plugins Name Plugins Description Uses external GREP files to scan target files for simple patterns. Uses PMD to parse and scan Java (and JSP) source code for issues. Uses J-Lint to scan Java.class files for issues. Uses antic to scan Java and C/C++ source code for issues. Plugin. Uses FIndBugs to scan Java class and Jar files for issues. Uses Lint4J to scan Java.class files for issues. 위에서확읶할수있듯이각언어별로특화된 Plugins 을사용할수있다. 그림 3 Yasca Process

그림 4 Make Report 보고서가만들어졌다는메시지확읶 그림 5 Report 분명히바탕화면폴더에만들어지는데처음사용자는찾기가힘들다. 다음과같은경로에서확읶할수있다. C:\Documents and Settings\STG Security\incle\Desktop\Yasca

그림 6 Report View 그림 7 Defalut make report Plugins 없이실제웹소스 (Test Bed) 를통해진행하면좀더디테읷한내용을얻을수있다.

그림 8 진단보고서 여러취약점을확읶할수있음. 그림 9 Potentially Sensitive Data visible 잠재적으로위험이존재하는부분에대한취약점도나옴

그림 10 Report Menu Report 가완성되어지만위에서보다시피세가지컬러가나타나게되는데지금은나타나지않지만 연두색까지총 4 개의색으로해당취약점에대해설명을해주고있으며이에대한대응책도소개 하여준다. 파란색자주색연두색회색 Source Code Context (lines before/after finding) Problem description Proposed fix (where applicable) Add finding to the ignore list 위의스크릮샷은자주색을클릭하였을때나오는문제설명이며그에맞는대응책이다. Plugins 에대한설정은 C:\yasca\resources\adjustments.xml 에서할수있으며 severity 를설정할수있다.

그림 11 Severity 그림 12 Description 다음과같이 desription 을이용하여 Plugins 에대한설명을추가할수있다

그림 13 Method Attribute Method 의 Attribute 를포함하여설명을덧붙읷수도있다. http://www.scovetta.com/yasca/yasca-manual.pdf 그외 Plugins 에대한사항은다음매뉴얼을참고하기바란다. 4. Grep Plugins 그림 14 Grep Plugins

Grep Plugins 는패턴을통해파읷을검색하게되고이를이행하는패턴은사용자가원하는데로 쉽게작성할수있으며정규표현식에관한내용을표기만해주기만하면된다. 예제만보더라도쉽게알수있다. 기본 GREP의파읷형식은다음과같다. name = <Name of the Plugin> file_types = <comma,separated,extension,list> pre_grep = /<regular expression>/ (optional) grep = /<regular expression>/ lookahead_value = 10 category = <Category Name> severity = <Severity (1-5)> (optional) category_link = <URL for information about category> (optional) description = <Description of the finding> (optional) 경로 C:\yasca\plugins\default\grep\Process.ForName.grep 에대한예를보면 name = Dangerous Function - Class.forName() file_type = JAVA grep = /Class\.forName\(/ category = Process Control severity = 4 category_link = http://www.fortify.com/vulncat/en/vulncat/java/process_control.html description = Grep 문장은 // 안에서유효한 PCRE Perl Compatible Regular Expression ) 의정규표현식이사용되도록요구되어 진다. The Grep Plugin is distributed with the following GREP files: (Grep 플러그읶은다음과같은 Grep 파읷들로분류되어진다 ) The Grep Plugin is distributed with the following GREP files: Grep File Category Description Ajax.grep Non-standard Technology Detects AJAX use in JSPs. Authentication. SimplePassword.grep Authentication Using a simple password. Authentication. StoredPassword.grep Authentication Storing a cleartext password in an object Authorization.Debug.grep Authorization Using a 'debug' parameter

Bug.JavaScript. InternalAndExternal.grep Bug Using both a SRC= as well as inline JavaScript in the same tag. Bug.JavaScript. ScriptTag.grep Bug Using a <script> tag in a.js file. Console.Output.grep Poor Logging Practice Use of System.[out err].print(ln) Crypto.XOR.grep Weak Cryptography XOR-encryption Crypto.MD5.grep Weak Cryptography Weak hash function Crypto.Random.grep Weak Cryptography Weak source of randomness CustomCookies.grep Information Disclosure Only SessionID should be sent. DoS.ReadLine.grep Denial of Service ReadLine blocks until EOF is found Error-Handling.StackTrace. JSP.grep Error Handling Printing a stack trace in JSP Formatting.MissingAMPM.grep Bug Missing AM/PM when printing in 12- hour time. General.BadLanguage.grep Code Quality Looks for bad words. General.Password. Hardcoded.grep Weak Authentication Username == Password General.NonProduction Miscellaneous Using "Hello World" code. Information-Disclosure. Comment.grep Information Disclosure Comments in HTML Injection.FileInclusion.grep Injection Including arbitrary files Injection.SQL.grep Injection Possible SQL Injection Injection.XSS.JSP.grep Injection Cross Site Scripting in JSPs Licensing.grep Licensing Inclusion of GPL, etc. code Process.exec.grep Process Control Dangerous function call Process.ForName.grep Process Control Dangerous function call Process.LoadLibrary.grep Process Control Dangerous function call Stability.Sleep.grep Stability Servlets are singletons, sleep = block String.equals.grep Code Correctness Foo == bar => incorrect usage 플러그읶과함께라면할수있는읷이정말많다 -,- 5. 마치면서 영어가매끄럽지못해원문그대로를사용하다보니영어가많이들어가있습니다. 좀더나은 문서를내놓기위해노력하도록하겠습니다. 소스코드분석툴은찾기가쉽지않고더군다나 Free 버전의툴은더더욱찾기가힘듭니다. 좀더나은코드진단을위해 1차적으로는많은소스코드예제를많이보는게가장좋은것같은생각이들고그것들을익혔다고생각했을때이러한툴을통해본읶이원하는것들을응용해리스트화시키는것이중요하다고생각이드네요 좋은문서는아니지만이문서를통해조금이라도도움이되셨으면합니다.