시스템이야기2008. 1. 10. 19:55
apache 웹로그, php 에러로그, syslog를 통한 로그를 모니터링할 때 특정 문자열에 대해서는 highlight해주면 원하는 부분만 쉽게 볼 수 있을 것이다. 또한 수치를 모니터링하는 경우, 0~59는 양호, 60~79 주의, 80~99는 경고를 나타내기위해 각각 녹색, 파란색, 빨간색으로 표시해준다면, 많은 로그가 순간적으로 스크롤되더라도 눈에 쉽게 띌 것이다.
이 글은 highlight 처리를 해주는 1) sed를 이용한 쉘스크립트와 2) 이보다 더 나은 perl 스크립트를 통해 모니터링하는 방법을 설명한다.

1. sed를 이용한 highlight 스크립트

* view.sh 내려받기

#!/bin/bash
#
# 특정 문자를 highlight한다. (view.sh)
#
# by 좋은진호(truefeel, http://coffeenix.net/ )

# color
szColBk="^[[;30m";      szColBk1="^[[1;30m"     # black
szColRe="^[[;31m";      szColRe1="^[[1;31m"     # red
szColGr="^[[;32m";      szColGr1="^[[1;32m"     # green
szColYe="^[[;33m";      szColYe1="^[[1;33m"     # yellow
szColBl="^[[;34m";      szColBl1="^[[1;34m"     # blue
szColPu="^[[;35m";      szColPu1="^[[1;35m"     # magenta(purple)
szColCy="^[[;36m";      szColCy1="^[[1;36m"     # cyan
szColGy="^[[;37m";      szColWh="^[[1;37m"      # white
szNormal="^[[;m"

#
sed \
        -e "s/^[A-Z][a-z][a-z] *[0-9]* //g" \
        \
        -e "s/ \(192.168.123.[0-9]*\)/${szColGr} \\1$szNormal/g" \
        \
        -e "s/\(httpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(vsftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(proftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(ftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(sshd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(xinetd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(Connection attempt\)/${szColRe1}\\1$szNormal/g" \
        -e "s/\(authentication failure\)/${szColRe1}\\1$szNormal/g" \
        -e "s/\(BAD SU\)/${szColRe1}\\1$szNormal/g" \
        \
        -e "s/\(nfs server\)/${szColYe}\\1/g" \
        \
        -e "s/$/$szNormal/g"
[/quote]

사용은 tail -f 로그파일명 |./view.sh 형태로 사용하면 된다.

첫번째 부분은 색깔을 정의한 변수이다. 여기서 ^[[;31m ANSI코드로, ^[ 문자는 ESC키를 의미한다. 쉘에서 입력할 때 Ctrl+V를 누른 후 ESC키를 누르면 입력할 수 있다. 색깔은 사용하는 터미널에 따라서 약간 다르게 표시될 수도 있다.

사용자 삽입 이미지


그 다음부터는 sed를 이용해서 문자열을 변환처리하며, 한줄당 하나의 정규표현식을 사용하였다. 부분적으로 살펴보자.

 1:     -e "s/^[A-Z][a-z][a-z] *[0-9]* //g" \

기본적으로 -e s/변환전문자열/변환후문자열/g 형식을 사용하는데, 위는 syslog를 통해 남은 로그중 'Oct 30'과 같이 '월일'을 표시하지 않기 위한 정규표현식이다.
 
 1:     -e "s/ \(192.168.123.[0-9]*\)/${szColGr} \\1$szNormal/g" \
 2:     \
 3:     -e "s/\(httpd\)/${szColCy}\\1$szNormal/g" \
 4:     -e "s/\(vsftpd\)/${szColCy}\\1$szNormal/g" \

첫번째줄은 특정 IP대역을 highlight하기 위한 것으로 서버의 IP, 접속하는 PC의 IP등을 한줄에 하나씩 적어주면 좋을 것이다. 두번째줄의 \ 은 보기 좋게 구분하기 위한 것이며, 세번째와 네번째줄은 각각 httpd와 vsftpd를 highlight한다.

 1:     -e "s/\(nfs server\)/${szColYe}\\1/g" \
 2:     \
 3:     -e "s/$/$szNormal/g"

첫번째줄은 'nfs server'로 문자열이 나온다면, 해당 줄 끝까지 highlight한다. ${szColYe}\\1과 server과 ${szColYe}\\1$szNormal 의 차이를 생각하면 쉽게 이해가 될 것이다. 세번째줄은 줄의 끝부분에서 색깔 표시는 정상으로 돌려놓으라는 의미이다.

2. perl을 이용한 highlight 스크립트


위의 예제를 통해서 원하는 문자열을 원하는 색깔로 highlight하는 것은 쉽게 할 수 있을 것이다. 이젠 perl이용한 방법을 소개한다.

* view.pl 내려받기

#!/usr/bin/perl
#
# 특정 문자를 highlight한다. (view.pl)
#
# by 좋은진호(truefeel, http://coffeenix.net/ )

# color
$szColBk ="^[[;30m";    $szColBk1 ="^[[1;30m";  # black
$szColRe ="^[[;31m";    $szColRe1 ="^[[1;31m";  # red
$szColGr ="^[[;32m";    $szColGr1 ="^[[1;32m";  # green
$szColYe ="^[[;33m";    $szColYe1 ="^[[1;33m";  # yellow
$szColBl ="^[[;34m";    $szColBl1 ="^[[1;34m";  # blue
$szColPu ="^[[;35m";    $szColPu1 ="^[[1;35m";  # magenta(purple)
$szColCy ="^[[;36m";    $szColCy1 ="^[[1;36m";  # cyan
$szColGy ="^[[;37m";    $szColWh  ="^[[1;37m";  # white
$szNormal="^[[;m";

#
$szBeep="\a";

#
while(<STDIN>) {
    # log에서 필요없는 부분 삭제
        s/^[A-Z][a-z][a-z] *[0-9]* //g;

    # IP
        s/(192\.168\.123\.[1-9][0-9]{0,2})/$szColGr$1$szNormal/g;

    # 줄 끝은 정상 색으로 변경
    s/$/$szNormal/;

    # 원하는 문자열에 색을 입힌다
        s/(httpd)/$szColCy$1$szNormal/g;
        s/(vsftpd|proftpd|ftpd)/$szColCy$1$szNormal/g;
        s/(sshd)/$szColCy$1$szNormal/g;
        s/(xinetd)/$szColCy$1$szNormal/g;
        s/(Connection attempt)/$szColRe1$1$szNormal/g;
        s/(authentication failure)/$szColRe1$1$szNormal/g;
        s/(BAD SU)/$szColRe1$1$szNormal/g;

    # 원하는 문자열을 찾으면 줄 끝까지 색을 읽힌다.
        s/(nfs server)/$szColYe$1/g;

    print $_;
}

사용은 shell스크립트를 사용할 때와 동일하게 tail -f 로그파일명 |./view.pl 형태로 사용하면 된다.

 1:     s/(192\.168\.123\.[1-9][0-9]{0,2})/$szColGr$1$szNormal/g;
 2:     ... 생략...
 3:     s/(vsftpd|proftpd|ftpd)/$szColCy$1$szNormal/g;

첫번째줄에서 192\.168\.123\.[1-9][0-9]{0,2} 은 sed를 이용할 때보다 더 정교하게 IP를 체크한 것으로, 1) 192.168.123. 시작하는 IP대역 2) 그 다음 1~9까지 숫자이고, 그다음에 숫자가 오게된다면 0~9까지 숫자가 0자리~2자리까지 가능하다. 정규 표현식에 대한 자세한 사항은 이 글의 주제를 벗어나는 내용이므로 '4 참고 자료'를 살펴보기 바란다. 세번째줄은 vsftpd, proftpd, ftpd 등의 문자를 highlight한다.

다음은 위의 스크립트를 이용하여 로그를 모니터링한 화면이다.
사용자 삽입 이미지


3. 수치에 따라 다른 색으로 표시

어떤 로그에 수치가 다음과 같이 실시간으로 쌓인다고 가정하자. 그리고, 그 수치는 'disk 54'와 같은 형태로 되어 있다.

---------  ------   --------
측정수치    상태     색깔
---------  ------   --------
0~59       양호      녹  색
60~79      주의      파란색
80~100     경고      빨간색
---------  ------   --------

다음은 perl을 이용하여 색을 표시하는 예이다. 그리고, 수치가 80이상일 땐 beep음을 발생한다. 이런한 방법은 서버의 load, disk 사용량, disk I/O, 커넥션 수, 메모리 사용량 등을 모니터링할 때 유용하게 사용할 수 있다.

 s/(disk [0-9][^0-9])/$szColGr$1$szNormal/;
 s/(disk [1-5][0-9][^0-9])/$szColGr$1$szNormal/;
 s/(disk [6-7][0-9])/$szColBl$1$szNormal/;
 s/(disk [8-9][0-9])/$szColRe1$1$szNormal$szBeep/;
 s/(disk 100)/$szColRe1$1$szNormal$szBeep/;

4. 참고 자료

* ANSI color codes
  http://pueblo.sourceforge.net/doc/manual/ansi_color_codes.html
* 정규표현식
  http://coffeenix.net/dir_catagory.php?cata_code=99
* Perl regular expressions
  http://www.perl.com/doc/manual/html/pod/perlre.html
Posted by 좋은진호
IT이야기2007. 8. 21. 23:38

리눅스 x86용 'Oracle Database 11g Release 1 (11.1.0.6.0)'이 발표되었다. 1.7GB 용량의 오라클은 http://www.oracle.com/technology/software/products/database/index.html 에서 받아볼 수 있다.

사용자 삽입 이미지

'ZDNet Korea에도 리눅스용 오라클 11g 출시 기사' 가 올라와 있다. 이 기사에는 4가지의 주요 기능과 각 기능에 대한 간략한 설명을 볼 수 있다.

'오라클 데이터베이스 11g(Oracle Database 11g)'를 리눅스 플랫폼에서 사용할 수 있게 됐다고...

... 생략 ...
오라클은 또한 데이터의 효율적 관리와 통합 능력의 향상을 요구 받는 소비자들을 위해 Oracle Database 11g 에서 ▲오라클 리얼 애플리케이션 테스팅 ▲오라클 어드밴스드 컴프레션 ▲오라클 토탈 리콜 ▲오라클 액티브 데이터 가드 등 대표적인 4가지 신기능을 제공하고 있다.

LinuxInsight에는 'A First Look at Oracle 11g database on Debian GNU/Linux' 제목으로 데비안 리눅스(설치 과정을 보니, 리눅스 배포판에 의존적으로 설명된 것이 아님)에서 오라클 11g 설치 과정을 설명하고 있다. 대략 메모리는 1GB이상, 디스크용량은 최소 설치에만 6GB를 차지하니 테이블스페이스 공간등을 감안하면 10GB이상의 디스크 여유공간이 필요할 것으로 보인다. 또한 설치과정은 이전 버전과 별반 차이가 없다.

[ 오라클 11g 설치과정 ( 사진 출처 : 위의 LinuxInsight 링크에서) ]
사용자 삽입 이미지

* 오라클 11g의 공식 페이지 : http://www.oracle.com/technology/products/database/oracle11g/index.html

Posted by 좋은진호
IT이야기2007. 6. 10. 21:56
1. LinuxWorld Korea 2007 Conference & Exp
사용자 삽입 이미지
작년에 이어 올해에도 'LinuxWorld Korea 2007 Conference & Expo' 행사를 한다.

* 행사기간
전 시 회 : 6.20(수)~23(토) / 4일간
컨퍼런스 : 6.21(목)~22(금) / 2일간

* 장소
전 시 회 : COEX 태평양관
컨퍼런스 : COEX 3층 컨퍼런스 센터

전시회는 15일(금)까지 사전등록자와 초청장 소지자는 무료 입장 가능하며, 현장등록자는 5,000원이다.
컨퍼런스는 15일(금) 사전등록자에 한하여 One-day Pass가 66,000원, Full Pass가 99,000원이다.

컨퍼런스 첫날은 오픈소스와 웹 2.0, 모바일에서 웹 2.0, AJAX 등 오픈소스를 이용한 웹 2.0과의 관계에 대해서 발표가 이뤄진다. 둘째날은 오픈소스의 이용사례, 오픈소스 라이센스, 비즈니스 모델 등 오픈소스의 활용과 그 에 따른 문제점은 없는지에 대해서 발표가 진행된다. http://www.linuxworldkorea.com/2007/index.php 에서 행사일정과 프로그램을 자세히 볼 수 있다.

2. Web Applications Conference in Seoul, Korea (WebappsCon)
사용자 삽입 이미지

전 세계적으로 사용자 참여와 공유의 플랫폼으로서 웹2.0을 기반하는 서비스와 비지니스가 활발하게 일어나고 있습니다. 이에 따라 사용자 경험 향상을 위한 Ajax와 리치 웹 기술과 오픈 소스 기반 웹 프레임웍 기술, 소프트웨어로서 웹 기술 등을 기반으로 사용자가 직접 참여하는 서비스 혁신이 가능해졌습니다.

이 러한 흐름에 발맞추어 국내 인터넷 업계에 종사하는 기술 커뮤니티 구성원들이 자발적인 참여형 컨퍼런스를 만들었습니다. 웹기획자, 웹디자이너, 웹개발자가 모두 함께 한국 웹 서비스가 새로운 기술 구조와 흐름에 맞추어 나갈 방향을 고민하고 토론하는 자리가 되었으면 합니다. 많은 참여 바랍니다.

6.21(목)에 열리는 WebappCons는 쟁쟁한 발표자와 개발적인 내용을 위주로 다양한 프로그램이 진행된다.
15일(금)까지의 사전등록자에게는 22,000원의 저렴한 비용으로 괜찮은 개발 컨퍼런스는 오랜만(?)인 것 같다.
거기에 지방참가자에 대해서는 무료 등록 기회를 주고 있다.

3. 나의 계획은 이렇다.

리눅스 커퍼런스는 비용에 비해서 발표내용이 끌리지 않아 듣지 않을 것이다. 대신 시간 날 때 리눅스 전시회를 관람할 계획. 거의 대부분의 시간을 WebappsConf 에서 보낼 것이다. 미투친구분들과 만남이 있을 듯. ^^

Posted by 좋은진호
일상2007. 5. 5. 16:56
5월 2일(수) 레드햇 세미나 이후에 모인 커피닉서와 리눅서 분들 반가웠습니다.

- 1차 : 삼성역 근처 소공동뚝배기집
- 2차 : 콩다방에서 커피 한잔

1차에 티니( http://linux.tini4u.net/ )님, aqua님, armines(냉이)님, richlino(부자아빠, http://richlino.egloos.com/ )님, bleeding님, 미르님 등 7명이 참석하셨습니다. 이 때 SE들의 수다는 정절에 이르렀고, 특히나 armines님에 의해 주도적으로 얘기되었던 소중한 말씀들은 잊을 수가 없습니다. ^^

- 회사에서 고생이 많으신 분도 계셨고,
- armines님의 달콤한 얘기도 들을 수 있었고,
- 시스템 운영시의 에피소드 잘 들었습니다.

2차에는 richlino님이 먼저 가시고, kaien님이 선물용 책을 갖고 등장(?)하셨습니다. 이렇게 총 8분이 참석해주셨습니다. 이 때부터 본격적으로 기술적 주제애 대해 얘기를 나눴습니다.

이런 저런 얘기를 나누는 중간에 kaien님이 무거운 10권의 책을 들고 등장하셨습니다.
사실 다들 kaien님보다는 이 책을 기다리고 있었습니다. ㅎㅎ (농담입니다.) 책은 소중히 잘 보겠습니다.

[ 왼쪽부터 richlino님, 미르님, 티니님, aqua님 ]
사용자 삽입 이미지

아래의 '[사진 더 보기]'를 클릭하면 더 많은 사진을 볼 수 있습니다.

미르님이 올리신 사진이 있으니 살펴보세요. (2페이지까지 있습니다.)
제 얼굴은 쭈굴쭈굴해 보여요. 주름이 많아 보이지...
http://gallery.mirr4u.com/main.php?g2_itemId=1373


Posted by 좋은진호
IT이야기2007. 4. 28. 16:07
안녕하세요. 커피닉스 운영자 좋은진호입니다.

5월 2일(수) 오후에 코엑스에서 레드햇에서 준비한 '레드햇 솔루션 세미나'가 열립니다.
세미나 이후에 모임을 갖을 예정입니다. 이 모임은 hanirc의 #coffeenix 방에 계시는 커피닉서분들이 그 날 모이면 좋겠다는 의견이 있었구요, 저도 저녁에 만날 시간이 되어 모임일정을 잡았습니다.

------------------------[ 모임일정 ]------------------------
  • 일시 : 2007.5.2(수) 7시 이후~ (저녁 이후에 차 한잔)
  • 장소 : 삼성역 근처 '소공동뚝배기집' (삼성역 5번 또는 6번 출구)
사용자 삽입 이미지
          (이미지 출처 : visitkorea)
  • 현재 참석 예정자 : 티니님, aqua님, armines(냉이)님, kaien님(조금 늦게 참석하실 예정), spy(엔티)님, richlino(부자아빠)님, 그리고 저
  • kaien님께서 보안책 10권을 참석자에게 제공해주십니다. 이론보다는 실무적으로 적용할 수 있는 내용 위주의 책이라고 하네요.
  • 차한잔할 때 간단하게 다음 얘기도 나눌 예정입니다.
     1) 요즘 제 블로그와 커피닉스에 'DDoS공격' 검색어로 찾아오는 경우가 많습니다.
       올해 7대 보안이슈로 선정된 DDoS공격에 대해서 간단히 얘기를 나눴으면 좋겠습니다.
     2) IDC의 흐름
     3) 레드햇 세미나 내용
     4) 시스템엔지니어의 커뮤니티 방향
-----------------------------------------------------------

나머지 사항은 커피닉스 공지( http://coffeenix.net/bbs/viewtopic.php?t=2150 )를 참조하세요.

4.30(월) 21:40분 수정

Posted by 좋은진호
시스템이야기2007. 4. 22. 16:53
The Perfect Setup - CentOS 5.0 (32-bit)
http://www.howtoforge.com/perfect_setup_centos5.0

사용자 삽입 이미지
[ 이미지 출처 : 위 URL ]

원 제목은 CentOS 5.0 설치인데, OS 인스톨과정 정도만 CentOS 5.0 화면입니다.
나머지 부분은 웹, DB 등의 보편적인 서버 구축 환경을 만드는 과정을 써 놓은 거네요.

    * Web Server: Apache 2.2 with PHP 5.1.6
    * Database Server: MySQL 5.0
    * Mail Server: Postfix
    * DNS Server: BIND9 (chrooted)
    * FTP Server: Proftpd
    * POP3/IMAP server: Dovecot
    * Webalizer for web site statistics

- IP설정과 IP alias 설정
- quota설정
- Postfix메일서버와 Dovecot POP3서버에 대한 설정
- 그리고 vsftpd 대신에 proftpd를 설치하는 방법(개인적으로는 vsftpd를 선호) 등을 설명하고 있습니다.

서버를 잘 다루시는 분이 쓰~윽 살펴보면 아~ 내용없구나 할 겁니다.
대신 처음 운영하는 분에게는 길잡이가 되겠네요.

Posted by 좋은진호
시스템이야기2007. 4. 15. 20:20
Bandwidth Monitoring Tools For Linux
http://www.ubuntugeek.com/bandwidth-monitoring-tools-for-linux.html

너무나도 잘 정리되어 있어서 따로 꺼낼 필요도 없을 듯 싶다.

- CUI(IPTraf, Iperf, tcpflow, vnstat, pktstat, ifstat, ibmonitor, nload, ...)
- GUI(EtherApe, GKrellM, netspeed, ...),
- 웹용(bandwidthd, kernel.org에서 사용하는 bwbar, ntop, ...) 등과
- 통합 모니터링툴인 Cacti, NetMRG, ...
Posted by 좋은진호
시스템이야기2007. 3. 16. 12:49
사용자 삽입 이미지
레드햇 RHEL5가 예상보다는 2주정도 늦게 15일(어제) 출시되었습니다.
CentOS 는 beta2(RHEL 4.92) 버전까지만 나온 상태입니다.
http://lists.centos.org/pipermail/centos-announce/2007-March/013617.html
hanirc의 #coffeenix방의 티니님이 CentOS 4.92테스트를 해보셨는데, 4버전에 비해 가벼워졌다고 합니다. 제가 제일 기대하는 건 Xen 입니다.

http://www.redhat.com/rhel/
http://www.redhat.com/rhel/features/

Kernel and Performance
    * Based on the Linux 2.6.18 kernel
    * Support for multi-core processors
    * Broad range of new hardware support
    * Updated crash dump capability provided by Kexec/Kdump
    * Support for Intel Network Accelerator Technology (IOAT)
    * Numerous enhancements for large SMP systems
    * Enhanced pipe buffering
    * IPv4/IPv6 fragmentation offload and buffer management
    * Dynamically switchable per-queue I/O schedulers
    * Kernel buffer splice capability for improved I/O buffer operations

관련기사 : 머니투데이, http://news.empas.com/show.tsp/cp_mt/20070315n10898/

오픈 소스 및 리눅스 제공기업인 레드햇은 15일 아태지역 본부가 있는 싱가포르에서 기자회견을 열고 새로운 기업용 버전인 ‘레드햇 엔터프라이즈 리눅스 5(RHEL5)’를 공식 출시했다.

‘레드햇 엔터프라이즈 리눅스 5(RHEL5)’는 최첨단 오픈소스 기술로 2년간 개발돼왔고 지난해 베타2 버전을 공개한 바 있다.

Posted by 좋은진호
IT이야기2007. 2. 11. 16:18
digg에 올라온 글이다.
Delta 항공의 의자 뒷를 보면, 전체 시스템이 리눅스로 리부팅되는 것이 보일 것이다.
모니터의 맨왼쪽 상단에 하얀색 삼각형 모양이 바로 펭귄. Original 사진을 보면 확인할 수 있다.

http://digg.com/linux_unix/Linux_Linux_Everywhere_An_entire_airplane_booting_Linux_with_pictures

사용자 삽입 이미지

Large, 1024 x 768
Original, 2272 x 1704

출장때문에 KTX를 자주 타는데, 객실내 방송용 화면의 OS는 windows 2000 prof. 다. 자주 다운이 된다. 녹화된 뉴스가 플레이되는 도중에 그대로 멈춰버린 화면도 보게 되고, 파란화면으로 먹통되는 것도 본다. 찍어둔 사진이 없어서 블로거 '반생(pleasuremake)'님의 사진으로 대신한다.
Posted by 좋은진호
시스템이야기2007. 1. 10. 13:43
제목을 보고 영화 'Die Hard'를 생각하고 클릭했을지도 모르겠다. 그러나 제목은 너무나도 정직하게 쓰여졌다. 보안 취약성을 막기위한 라이브러리 이름이 DieHard다. ^^* 이 라이브러리는 Linux, solaris등에서 사용하여 여러 프로그램을 보안문제로 crash되는 것을 막을 수 있으며, Windows에서는 Mozilla/Firefox (Firefox 1.5.x, 2.0.x)만 보호할 수 있는 DieHard를 제공한다.
 
http://www.diehard-software.org/
http://www.cs.umass.edu/%7Eemery/diehard/download/ (download)
 
리눅스에서 사용하는 방법은 간단하다. 위 사이트에서 download받은 후에 LD_PRELOAD 환경 변수에
DieHard 경로만 지정해주면 된다.

setenv LD_PRELOAD /path/to/diehard/libdiehard.so
 
로긴후애 항상 DieHard를 통해 사용하고 싶다면 $HOME/.bash_profile 에 위 한줄만 넣어주면 된다. 다음은 명령 실행시 libdiehard.so 라이브러리를 사용하고 있음을 확인한 것이다. 제 PC(Linux)에서 사용중인데, 지금까지 문제없이 잘 쓰고 있다.
 
# lsof |grep diehard
top       31131 truefeel  mem       REG    8,8   232204    1700624 /home/truefeel/diehard/libdiehard.so
lsof      31103 truefeel  mem       REG    8,8   232204    1700624 /home/truefeel/diehard/libdiehard.so
grep      31104 truefeel  mem       REG    8,8   232204    1700624 /home/truefeel/diehard/libdiehard.so
lsof      31105 truefeel  mem       REG    8,8   232204    1700624 /home/truefeel/diehard/libdiehard.so

개발자 Berger는 MS에서 3만달러, 인텔에서 3만달러, 미 국립과학재단(National Science Foundation)에서 30만달러를 지원받았으며, MS 연구원 Ben Zorn과 함께 개발하였다.

DieHard 라이브러리에 대한 http://www.cyberciti.biz/tips/howto-protect-bufferoverflow-security-vulnerabilities.html 도 참고해보라.
Posted by 좋은진호