벤치마크를 한번 해봤다. 근데 딱히 비교할 만한 툴이 없어 v1.0과 v2.0을 가지고 측정을 하였다. 해당 결과는 VMWARE에서 ORACLE, MSSQL에 대해서 수행한 결과 수치이다.

v1.0과 v2.0 모두 tablename,columnname에 대해서 한글은 지원되지 않지만 v2.0의 경우 안에 한글처리 로직이 모두 내장되어 있다. 일정상 한글을 활성화는 차후로 미뤘으며 v1.0의 DATA 부분에서 한글만 지원되나 v2.0은 한글 한자 동시에 지원된다는 점을 감안하면 v1.0에 비해 엄청나게 빨라졌다고 생각한다. 이미 v1.0도 많이 최적화 되어 있는 상태였으며 v2.0은 노하우로 인해서 새로운 요소가 많이 발견되었기 때문에 훨씬 좋은 결과를 가져왔다고 생각한다.


[ORACLE SERVER 벤치마킹 결과]
오라클 벤치마크 테스트는 v1.0과 v2.0 모두 가속 기능을 지원하는 TABLE NAME과 COLUMN NAME에 대해서는 그냥 동일 상태에서 진행했으며 DATA 부분은 v1.0에서 가속 기능이 없어 중복된 데이터가 없는 DB를 이용하여 동일 조건을 만족시켰다.

참고로 TIME 측정표의 시간은 초단위 이며 Request CountHTTP REQUEST 횟수이다.

사용자 삽입 이미지
<획득 시간 측정표>


사용자 삽입 이미지
<획득을 위한 HTTP 요청 횟수 측정 표>

표를 보면 COLUMN NAME의 요청 횟수에서 v2.0이 더 많은 비용이 들어 가는 걸로 나오지만 실제로 COLUMN의 TYPE 획득 처리가 없다는 점을 감안하면 결코 느리다고 할 수 없으면 전체적으로 성능이 향상 되었음을 알 수 있다. 데이터 양이 많은 수록 v2.0이 탁월한 성능을 발휘할 걸로 기대된다.


[MSSQL SERVER 벤치마킹 결과]
 동일 조건에 대해서 DATA는 ORACLE과 달리 동일 데이터가 존재하며 가속 기능 차이가 뚜렷하게 나타나게 하여 측정하였다.

사용자 삽입 이미지

<획득 시간 측정표>


사용자 삽입 이미지
<획득을 위한 HTTP 요청 횟수 측정 표>

DATA 칼럼에서 엄청난 비용의 차이는 동일 가속 기능에 의해서 만들어 진 것으로 동일 데이터가 많기 때문이다. MSSQL에서도 많은 향상이 있음을 볼 수 있다.

눈물겹다 1년동안 노력한 결과이다. 근데 왠지 혼자 북치고 장구치고 다하는 기분이다. 실제로 그런거 같다... 암튼 최선을 다했고 완벽을 기하기 위해 최선의 노력을 했다. 미진한 부분은 앞으로 계속 구현해야 겠다. 힘내야징 ^^; 모든 걸 서면으로 다 표현하지 못해 아쉽당.. 숨은 수많은 기능과 기법들.. v1.0에 비해 뛰어난 확장성 등등 말로 하면 끝이 없다.. 암튼 최선을 다해서 홀가분 하다. 미진한 부분은 2차 일정에서 또는 간간이 가능하면 해봐야징 ^^;

[별첨1] 획득에 사용된 데이터
표가 이쁘게 넣어 지지가 않넹 ㅡㅡ.

ORACLE
TABLENAME COLUMNNAME DATA
BONUS DEPTNO 10 ACCOUNTING NEW YORK
DEPT DNAME 20 RESEARCH DALLAS
EMP LOC 30 SALES CHICAGO
SALGRADE   40 OPERATIONS BOSTON
anthem   50 유현수 서울

MSSQL
* TABLENAME COLUMNNAME DATA
1 admin code1 100000 Y 제조사 테스트상품
2 b_com_free code2 100001 Y 제조사 상품명
3 b_com_gel pdt_best 100002 Y 제조사 상품명
4 b_com_mart pdt_cd 100003 Y 제조사 상품명
5 b_com_qna pdt_color 100004 Y 제조사 상품명
6 banpum pdt_detail 100005 N 111 111
7 besong pdt_event 100006 N 11 11
8 board_free pdt_home        
9 board_gel pdt_limg        
10 board_mart pdt_list        
11 board_news pdt_main        
12 board_qna pdt_name        
13 cart pdt_new        
14 category pdt_pan        
15 category2 pdt_point        
16 comd_list pdt_price        
17 counts pdt_simg        
18 dtproperties pdt_size        
19 member pdt_stock        
20 Mileage pdt_use        
21 online pdt_wtday        
22 orderdetail point_num        
23 orderMaster          
24 OrderTemp          
25 popup          
26 post          
27 product          
28 product_com          
29 product_pan          


[별첨2] 결과 덤프화면
ORACLE
   - TABLENAME
사용자 삽입 이미지
< TABLENAME v1.0 >

사용자 삽입 이미지
< TABLENAME v2.0 >


  - COLUMN NAME
사용자 삽입 이미지
< COLUMN NAME v1.0>

사용자 삽입 이미지
<COLUMN NAME v2.0>

  - DATA
사용자 삽입 이미지
<DATA v1.0>

사용자 삽입 이미지
<DATA v2.0>


에고에고 힘들다 MSSQL 생략해야징... ㅡㅡ.
힘든 만큼 많은 것을 배웠다. 이제 즐거운 베타 테스트 시간이당 ^^; 잘 써먹어야징
Posted by n3015m
:
---------------------------------------------------------------------------------------------------
착            수  : 2007. 10. 20.
프로젝트 분류 : INNOVATION 01
공  식   명  칭 : N3015M Blind/SQL Injection Professional
가             칭 : N3015M Blind/SQL Injection for Penetration Tester
개  발   언  어 : C#
1차  목      표 : v1.x의 모든 기능 구현 및 최적화
1차  완료예정 : 2007. 12. 20. 완료됨
2차  목      표 : Stored Procedure 관련 기능 집중 구현
2차  완료예정 : 2008. 12. 20.
진  행   사  항 : [GUI 설계] → [Core 구현] → [ 기능구현 ] → [1차 완료] → [가속기 v2.0 완료]
                      → [베타 테스트]
---------------------------------------------------------------------------------------------------

가속기 v2.0 개발을 마무리 지었다. v2.0 이라니 뭔가 더 좋아진거 같고 난 v1.0이 아니라 v2.0이란 말이 자체가 좋다. 정말 1년여 간의 개발 연구 투자 그리고 회사일로 정신 없어 손을 놓고 있어야 했던 순간들... 그리고 개인적인 많은 일들이 있었지만 쉬지 않고 끊임없이 두드린 결과 오늘까지 왔다.

그리고 다른 프로젝트 진행을 위해 현재 [가속기 v2.0] 완료까지 개발을 진행하며 강제 중단에 들어가야겠다. 너무 많은 손이 들어간다 가속기는 TABLE NAME, COLUMN NAME, DATA 획득 등 모든 부분에서 제어를 수행하며 순수 가속기 CLASS만 500줄이 넘는다.. v1.0은 10줄 미만인거에 비하면 엄청나게 많이 늘어났다. 그나마 현재 중단해서 이정도 인거 같다. 혼자 가는 길이란 참 어려운거 같다.

1차 개발을 최종 완료 하며 장기간의 베타 테스트(실제 필드에서 사용) 진행으로 넘긴다. 알파 테이스트에서 문제가 없어 베타 테스트로 전환하며 기능 추가 및 개선을 중단하며 버그 수정 및 소량의 기능 개선만 추진한다.

■  1차 개발 완료 부분

[상단의 TITLE]
[진단요원 이름] 툴 명칭 버전 등으로 표기한다. 하단의 STATUS를 합하면 누가 언제 몇시에 진단툴을 수행했는데 화면 덤프시에 바로 확인 할 수 있도록 하기 위한 표기이다.

[MENU 부분]
v1.0에 비해서 많이 미흡한 부분이다. 차후 구현이 및 구상이 필요하다.

[INITIALIZE 부분]
Version 새로 추가되었으며 CRACK DB에서 타 DB획득 기능이 추가 확장되었지만 ORACLE은 연구가 더 필요할거 같다.

[TABLE/COLUMN NAME, DATA 부분]
가속기 V2.0인 Optimizer 에서 대부분의 데이터 획득에 필요한 SEARCH SCOPE을 제어하며 가속 기능을 제어한다. SQL QUERY 선택도 BENCH MARK를 통해 최적의 조합으로 구성하였으며 대폭 적으로 개선된 구문이 사용되어 데이터 획득시 최소 시간이 들도록 최적화를 수행하였다.
단 단점으로 기존에 비해서 QUERY 구문의 길이가 10~20 자가 늘어나 길이 제한에 문제가 있을 지도 모르겠다.

[하단의 STATUSSTRIP]
왼쪽은 진단 일자 및 시간을 표시하며 그 다음은 현재 공백이나 현재 작업 상황을 표시하며 ProgressBar는 말 그데로 현재의 CRACK의 진행 상태를 표시한다.

사용자 삽입 이미지

눈물겹다.. 뭔가 만든다는거 꼭 무언갈 낳는 기분이다. 정성 시간 정신 혼 모든걸 퍼부어야 하니.. 한군데라 소홀 하며 바로 말썽이다.. 완벽일 기했다. 이제부터는 장기간의 베타 테스트에 돌입해야 겠다. 개발할 시간이 없다. 아쉽다.. 더 많은 기능 필요한뎅..

[차후 주요 구현 부분 ]
현재 미흡 부분인 ORACLE "CRACK DB" 관련 기능, 하단의 CRACK 버튼 옆의 기능, 상단의 메뉴 기능 구현 후에 V2.0 핵심 기능 개발에 착수해야겠다.

2008년 6월까지 베타 테스트 예정이며 중간 중간에 Optimizer 세팅을 조절해야 겠다. Optimizer 기능에 비해서 설정이 최적의 상태가 아니다..
Posted by n3015m
:

BLOG main image
'네오이즘'의 보안LAB 블로그입니다........... n3oism@gmail.com by n3015m

카테고리

분류 전체보기 (228)
[ HappyDevTool ] (29)
[ HappyToolRelease ] (4)
[Book] (6)
[ Security Studies ] (0)
- CII (2)
- BigData (2)
- Web Hacking (10)
- SQL Injection (25)
- Mobile Security (9)
- Network (6)
- OperatingSystem (4)
- Malware & Reversing (4)
- Phishing (5)
- Compliance (0)
- Programming (13)
- Tools (13)
- IoT (6)
- etc (21)
[Pentration Testing] (3)
[OS X] (4)
[ Security Trends ] (16)
[ Fixing Guideline ] (7)
My Way, My Life (34)
About Me (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :