- 기업 환경과 기술 발전에 따른 검색의 변화 -



Web 2.0과 엔터프라이즈 시장의 변화와 맞물려 검색 시장 또한 사용자 변화 욕구에 발 맞춰 빠르고 새롭게 진화하게 된다.
현 재 검색 서비스는 제 3세대까지 알려져 있는데, 이들 중 야후와 알타비스타 같이 웹페이지 콘텐츠를 단순 링크하거나 키워드 기반의 검색을 제공하는 인터넷 초창기의 검색을 제1세대 검색으로 분류한다. 이 시기는 정보검색이 키워드 기반 방식으로 접근하여 검색 결과의 정확도와 신뢰도가 낮았다.
이를 보완하기 위해 웹 페이지에 링크된 횟수가 높으면 신뢰도와 정확도 역시 높을 수 있다는 Link Analysis방식의 Page Rank 알고리즘이 등장하게 되었고, 구글은 이 Page Rank 알고리즘을 기반으로 서비스를 시작하게 되었다. 이 시기를 제 2세대 검색이라고 부른다.

그러나 재현율과 정확률에 초점을 둔 새로운 세대의 검색 서비스 출연에도 불구하고 정보의 홍수 속에 사용자는 수많은 garbage data 속에서 원하는 정보를 다시 한번 찾아야 하는 수고를 더해야만 했다. 이를 해결하기 위해 검색업체는 새로운 정보검색 서비스를 시도하게 되었다. 이러한 과정에서
Web2.0 이라는 새로운 트렌드가 등장하며 검색은 사용자 관점에서 UI강화, 문서의 분류와 군집, 지능형, 개인화, 전문검색 등의 형태의 다양한 서비스들이 나타나게 되었다. 이를 ‘검색의 혁명’, 제 3세대 검색 혹은 Search 2.0의 시대라고 부른다.

Search 2.0은 참여와 공유, 분배 기반의 Web2.0과 텍스트 마이닝, 시맨틱 웹 기술이 융합되고, 빠르게 변화하는 비즈니스 환경에 대한 대안으로 부상하고 있는 엔터프라이즈 시장에 적극 대응, SOA(Service Oriented Architecture)의 환경을 지원하며 소프트웨어의 새로운 유통방식이라 할 수 있는 SaaS(Software as a Service) 비즈니스 모델로도 확장하고 있다.

Web 2.0의 RIA, AJAX 등의 기술이 사용자 경험을 향상 시키는 동안 기존 검색기술은 이러한 Web 2.0 트랜드에 대해 대응력 부재를 보이며, 아래와 같은 다양한 문제를 제기하게 되었다.

  • 너무 많은 검색의 결과에 대한 가공을 통한 접근성이 떨어짐
  • 콘텐츠의 다양화 (UCC, 블로그 등)에 대한 특화되지 못한 검색
  • 콘텐츠에서 사용자가 필요로 하는 정보를 추출하지 못함
  • 사용자의 경험을 검색에 반영하지 못함
  • 누가 검색해도 동일한 검색 결과가 나오는 특화되지 못한 검색
  • 개방을 위한 검색과 다른 서비스간 Open API 등을 통한 매시업 연동이 불가함
  • 플랫폼으로서의 Web을 지원하기 위한 검색 플랫폼화가 지원 안됨

위와 같은 기존 검색의 문제점으로 인하여, 참여, 공유, 개방의 Web 2.0 환경에서 Search 2.0의 주요 기능들이 새로운 이슈로써 그 중요성이 더욱 증가시키는 계기가 되게 된다.


Search 2.0의 대두

시장 패러다임의 변화와 맞물려 전개된 Web2.0과 엔터프라이즈시장의 환경 변화는 새로운 고객 관점의 요구를 생성하게 되고, 이는 기존 검색 시스템의 새로운 트렌드를 못 좇아가는 기술적 한계성을 더욱 부각시킨다.
특 히 맥아피 교수가 언급한 기업 지식 경영 패러다임으로 가기 위한 6가지 구성요소(SLATES) 중 핵심요소인 ‘Search’는 Web 2.0의 기본 개념과 Enterprise 2.0 관점에서 그 무엇보다 중요한 역할을 차지하고 있기에 Search 2.0의 전면으로의 등장을 더욱 빠르게 전개되게 된다.

또한 대부분의 이용자가 찾는 검색결과와는 다른 ‘너무나 많은’ 정보를 늘어놓는 대다수의 검색 엔진의 불필요한 정보 범람의 난제에 Search 2.0을 전면에 내세운 신규 업체들이 새롭게 도전장을 내밀고 있다.
이 들은 검색어가 들어 있기만 하면 무조건 뽑아다가 나열하는 종래의 단순하고 무분별한 검색 방식에 질서를 부여하고자 한다. 검색된 결과를 순식간에 자동으로 분석해 범주별로 정리해 보여줌으로써 굳이 개별 결과를 일일이 뒤져보지 않아도 필요한 정보를 쉽게 찾을 수 있게 해준다는 개념이다.

의미기반 검색의 경우 Hakia, Powerset은 검색자들이 입력한 질문을 이해해 의미 기반의 검색을 수행할 수 있다. 실제 상대적으로 복잡한 질문에 대해 구글보다 뛰어난 검색 결과를 제공한다. 특히 의약품·법률·재무·과학·문학 같은 집약적 주제 검색에 뛰어나다. 사용자 참여 형태인 Rollyo, Swicki, Del.cio.us는 검색롤이나 북마크 등을 이용자가 서로 공유할 고 사용 할 수 있도록 서비스를 제공하고 있다.

또 한 클러스터링을 특징으로 두고 있는 Vivismo와 Ask는 검색 결과를 언어 및 통계 분석에 근거해 즉각 새로운 범주들로 나누는 검색 기능을 제공하고 있다. 이와 함께 Yahoo Mindset, Collarity 등은 Intent-Driven(사용자 의도 파악)방식과 개인화 검색을 통해 Search 2.0의 선도적인 역할을 수행하고 있다.

위의 사례에서 볼 수 있듯 Search 2.0은 기존 정보검색의 강화된 기능과 텍스트 마이닝, 시맨틱 기술이 복합적으로 적용되어 사용자 참여, 사용자 검색의도 파악, 검색결과의 자동군집, 자동분류, 개인화의 기능을 지원한다. 이러한 검색의 새로운 트렌드는 현재 급변하는 Web 2.0 패러다임과 IT환경에 효과적 대응이 가능하며, 기업 환경의 변화인 Enterprise 2.0의 환경에 적용이 가능하다.


Search 2.0 서비스 기준

Search 2.0에서 서비스의 기준은 첫 번째, 사용자를 위한 관련 콘텐츠에 대한 발견성(Findability)을 높여야 한다. 이는 곧 검색이라는 원초적인 기능과 맞물려 그것을 어떻게 실행하느냐에 중점을 둘 수 있다. 즉 일반적인 정보의 노출이라는 검색 초점에서 벗어나 숨겨진 사용자의도에 따른 진정한 검색 Findability를 보다 쉽게 제공한다는 의미를 두고 있다.
두 번째, 웹 전체 혹은 큰 서브넷에 해당하는 양의 데이터를 검색할 수 있어야 한다. 검색의 결과도 중요하지만 검색을 할 수 있는 범위의 제한을 두지 말아야 한다.
세 번째, 키워드, 구, 질의문, 패러미터 등의 다양한 입력방식으로 검색이 가능해야 한다. 즉, 사용자는 어떤 방식으로도 검색의 접근성을 보장받아야 하는 것이다.
네 번째, 검색의 대상이 되는 콘텐츠를 사용자에 맞춰 가공 및 사용되어야 한다.
다섯 번째, 사용자 요청 시 검색결과를 즉시 제공하여야 한다. 즉, 모든 검색 대상이 되는 콘텐츠는 사용자 중심이다.
여섯 번째, 사용자 참여에 의한 향상된 랭킹, 검색 결과에 대한 향상된 UI등을 제공하여야 한다.

Web 2.0 관점에 입각한 사용자 참여 및 사용자 경험 중시의 구조는 Search 2.0에서도 중요한 서비스 기준 인 것이다. 위에서 언급 한 바와 같이 Web 2.0은 참여, 공유, 개방의 핵심 키워드로 웹의 패러다임을 바꿔나갔다. 이에 Web 2.0에서의 검색은 3S(Store, Search, Sort)에서 4S+1D(3S+Share+Discoverry)로의 Search 2.0 패러다임으로 바뀌게 된다.


사용자 삽입 이미지

곧, 검색이라는 기능이 전면에 중요하게 부각되면서 새로운 서비스로의 환경을 만들고 있는 것이다. 따라서, 사용자 참여 랭킹, 개인화, 플랫폼화, Open API/매시업 등 다양한 Web2.0 요소는 Search 2.0에 담겨 표현되고 있다. 향후 Search 2.0은 Web 2.0 패러다임과 함께 질의전처리, 정보소스의 가공 등을 통한 다양화, 검색 알고리즘의 개선, 혁신적 검색 UI의 적용 등을 통해 발전해 나갈 것으로 예상된다.



Enterprise 2.0 등장

참 여, 공유에 기반한 고객, 시장의 집단 지성은 폐쇄적 기업 조직을 개방적, 창의적인 유연한 조직으로 변화하도록 요구하게 되었다. 이를 바탕으로 하버드대 맥아피교수는 새로운 개념을 제창하게 되는 데 이것이 바로 엔터프라이즈 2.0이다.
엔터프라이즈 2.0은 기업 내부 또는 기업 대 기업 간에 사용되는 새로운 사회적 소프트웨어 플랫폼이라고 정의할 수 있다. 즉, 2.0의 구성요소인 문화, 프로세스, 기술이 기업 내/외부에서 유기적으로 결합하여 새로운 기회를 넘어서는 새로운 가치를 창출하는 것이라고 설명할 수 있다.
이에, 엔터프라이즈 2.0은 SOA, SaaS, Ajax 등, 신기술의 사용과 더불어, 웹 2.0의 핵심도구 중 하나인 소셜미디어와 위키, RSS 등을 이용, 새로운 기업 지식 경영 패러다임으로 가기 위해서는 6가지 구성요소(SLATES)가 필요하였다. 그것이 바로 검색(Search), 연결(Links), 제작(Authoring), 태그(Tags), 확장성(Extension), 신호(Signals) 등이라 할 수 있다.

사용자 삽입 이미지


위와 같이 기존 기업의 비즈니스 목표 달성을 위해 탑다운 방식의 서비스 시스템 구현과 의무적인 참여가 강요되던 기업용 SW환경도 개개인의 자발적인 참여와 공유를 통해 새로운 가치를 창출하는 환경으로 변화하고 있다.
그 대표적인 예가 위에 언급되었던 엔터프라이즈 2.0으로 국내에서는 이제 막 관련 논의가 시작됐지만, 이미 엔터프라이즈 2.0은 세계 주요 IT전문 블로거들이 선호하는 핵심 키워드로 자리잡은 상태다.
엔터프라이즈 2.0은 웹 2.0과 매우 깊은 관련이 있다. 쉽게 풀어서 이야기하자면 “웹 2.0처럼 뭔가 변화가 분명히 발생하고 있는데 그런 것이 기업 솔루션이나 기업 내부 서비스에도 어떤 영향을 끼치지 않을까?”라는 것이다.

즉, 블로그나 위키에서는 이용자가 자유롭게 기사나 메시지, 워크파일을 소프트웨어상에 작성해 늘어놓는 것으로 보고서를 작성하기까지의 프로세스를 가시화할 수 있다. 이와 같이 엔터프라이즈 2.0을 실현하기 위한 플랫폼에서는 종래의 소프트웨어에서 실현이 어려웠던 요건을 웹 2.0으로 활용되고 있는 기술군에 의해 실현하려 한다.
MS의 쉐어포인트(SharePoint)나 IBM의 엔터프라이즈 위키 등, 주요 기업 소프트웨어 벤더에서는 위키나 소셜 북마크 기능을 구비한 그룹웨어나 포털 소프트웨어 등을 올해 안에 발표할 예정이다.

엔 터프라이즈 2.0으로 실현되는 소셜 소프트웨어상 협업의 내용은 극히 인간 중심적인 작업들이다. 게다가 이것들은 기업내외에 존재하는 다양한 이해관계자와의 관계나 작업 프로세스의 과정이 축적되어 있다. 만약 그 연속성이나 관련성이 가시화될 수 있다면 생산성이나 혁신성을 촉진시키는 큰 비즈니스 기회를 기대할 수 있을 것이다.
즉, 기업 내 뿐만이 아니라 고객이나 협력업체간 커뮤니케이션 및 협업을 실현시킬 수 있다면 웹 2.0에도 뒤떨어지지 않는 가치를 얻을 수 있을 것임에 틀림없다. 이에, SOA(Service Oriented Architecture)와 SaaS(Software as a Service)라는 새로운 IT기업 환경의 등장은 엔터프라이즈 2.0 시장의 중심을 이루며 더욱더 발전된 IT 비즈니스 미래를 제시할 것으로 예상된다.


SOA와 SaaS의 등장

기업이 비즈니스 유연성을 확보함으로써 외부 변화에 반응, 빠르게 비즈니스를 바꿀 수 있도록 하는 On-Demand 비즈니스를 구현하기 위해서는 IT시스템의 유연성이 필수적이다.
SOA 는 On-Demand 운영 환경에서 비즈니스 유연성을 가능하게 하는 인프라스트럭처를 제공하는 환경이다. SOA를 적용하여 기업은 비즈니스 환경 변화에 유연하게 대응할 수 있는 시스템을 구축할 수 있고 이를 통해 경쟁력을 높일 수가 있게 되었다. 하지만 기존 IT시스템만으로 이러한 비즈니스 유연성을 만족시키기가 쉽지 않다. 과거와는 달리 요즘의 비즈니스 환경 변화는 기존 IT시스템이 그 변화를 따라가기 어려울 정도로 빠르기 때문에, 기존 IT시스템을 얼마나 유연하게 만들 수 있느냐가 관건이라 할 수 있다.
따라서 전통적인 IT시스템과는 다른 패러다임이 필요하고 이러한 필요사항에서 나온 것이 서비스 지향 아키텍처(Service Oriented Architecture)이다.

사용자 삽입 이미지


즉, SOA는 엔터프라이즈 애플리케이션에 포함된 개별적인 기능들을 동적인 비즈니스 요구 사항에 따라 신속하게 조립 및 재사용할 수 있는 상호 운영이 가능한 표준 기반 서비스로 구성하는 IT전략이다.
애 플리케이션 중심이 아니라 서비스 중심으로 엔터프라이즈 IT를 구성함으로써 SOA를 도용한 각 업체들은 위 그림과 같은 주요 이점을 오늘날 경험하고 있으며, 비즈니스 기회를 극대화하기 위해 새롭고 향상된 서비스를 신속하게 개발, 신뢰할 수 있는 방법으로 전달하고자 서비스 지향 아키텍처(Service Oriented Architecture)를 채택하는 추세다.

지금까지 라이선스, 배급 방법, 파트너에 따라 CD-ROM 형태로 다양하게 구분됐던 소프트웨어 비즈니스 모델이 ‘SaaS(Software As A Service)’의 등장으로 인해 급속도로 변화하고 있다.

‘SaaS’ 는 일반(제품 중심적) 소프트웨어 비즈니스 모델과는 달리 서비스 형태로 제동되는 시스템의 최근 SW업계에서 주목받고 있는 새로운 트렌드다. 요컨대 서버의 컴퓨터상에 소프트웨어를 설치해 두고 사용자는 웹 브라우저를 통해 사용한 만큼 비용을 지불하고 소프트웨어를 서비스로 이용하는 방식이 SaaS다.

위 내용을 한마디로 정의하자면, ‘SaaS는 트랜잭션 기반의 SaaS모델로서 트랜잭션이 발생한 만큼의 비용만 지불하면 되는 종량제식의 서비스’라고 정의 내릴 수 있다. 이에, 최근 불고있는 웹 2.0 바람과 SaaS의 연계성을 고려했을 때 밀접한 관계를 가지고 있으며 앞으로 웹은 해결하는 솔루션이 아닌 솔루션과 솔루션이 조화를 이루는 애플리케이션 위주로 흘러갈 것이다.

이는 가트너의 전망 ‘2011년엔 새로운 기업용 SW 중 25%가 SaaS로 제공될 것이다’나, 향후 수년간 온 디맨드 고객관계관리(CRM)가 연평균 31% 성장해 2010년에는 전체 CRM 시장의 17%를 차지할 것이라는 IDC의 예측은 SW의 미래를 그려볼 수 있게 하는 대목이라 할 수 있다.

이 미 구글, MS, 세일즈포스닷컴, 오라클 등 세계적 기업들도 기존의 소프트웨어 판매 방식에서 벗어나 웹을 중심으로 새로운 전략을 모색하고 있다. 그리고 이러한 기업들의 움직임에 힘입어 점차 SW산업의 범위와 구조는 웹을 중심으로 더 빠르게 확대, 재편될 것으로 전망된다.


엔터프라이즈 시장에서의 Search 2.0

SOA 와 SaaS 시스템의 새로운 등장과 함께 기업에서도 Web 2.0 개념을 도입하여 인터넷 검색 만족도에 버금가는 검색시스템을 구축하려는 욕구가 증가하게 된다. 이는 웹2.0의 주요 개념인 개방, 공유, 참여와 SOA기반의 검색 플랫폼을 통하여 정보 검색, 정보 탐색, 복합 애플리케이션(매쉬업)을 통합하고 경제성과 생산성을 보장하려는 시도로 이어지고 있는데, 그 특징은 아래 같다.

  • 다양한 서비스를 지원하는 환경
  • 파워풀한 UI 구현 및 서비스
  • 숨어 있는 지식정보의 재발견
  • 정확하고 신뢰성 있는 검색결과
  • 확장성, 유연성 제공
  • 높은 경제성, 생산성 달성
  • 플랫폼 기반으로 기업이 원하는 다양한 서비스 제공
  • 다양하고 화려한 시각화에 의한 사용자 경험과 직관적인 접근
  • 가치와 의미있는 정보에 대해서 다양한 접근방법을 통해 정보의 재조명, 재창조 기회 및 공유와 협업 가능하도록 도움
  • 임직원/고객의 정보와 참여를 통한 사용자의 검색의도 파악, 의미처리 검색으로 고품질 검색결과를 얻음
  • 급변하는 비즈니스 환경에 기업 내외부의 다양한 서비스와의 연결 및 통합(매쉬업)
  • 검색 호스팅 및 밸류 애딩을 통한 스위칭 코스트/ 구축일정 단축으로 높은 생산성 달성

위와 같이 Enterprise Search 2.0은 급변하는 비즈니스 환경 속에서 다양하게 요구되는 고품질 검색 서비스를 높은 생산성과 경제성을 가지고 제공하는 플랫폼기반의 검색서비스라 정의할 수 있다. 여기서 말하는 플랫폼 기반이란 다양한 콘텐츠(데이터)와 서비스들로부터 정보 검색, 정보 탐색, 매쉬업 등과 같은 검색관련 서비스를 적은 비용으로 빠르게 해 줄 수 있는 개발/운용체계를 말하며 이는 여러 다양한 IT 사업 솔루션과 연동하여 언제 어디서든 최고의 고객 가치를 가져다 줄 것이다.

해외 Search 2.0 사례와 Web 2.0 패러다임을 토대로 한 기업 환경의 변화에서도 알 수 있듯 사용자 관점의 신개념 검색 기술의 등장은 언제나 IT 시장의 이슈로 존재하고 있었다.

Search 2.0 플랫폼을 한마디로 정리하자면, ‘서비스 지향 지능형 검색 플랫폼’이라 할 수 있다. 즉, ‘서비스로서의 검색(Search as a Service)’, ‘지능형 검색(Intelligent Search)’, ‘플랫폼으로서의 검색(Search as a Platform)’, 이 3가지 핵심 기능을 중심으로 사용자에게 최대한의 효과를 줄 수 있는 신개념 검색 플랫폼인 것이다.

사용자 삽입 이미지

<Search 2.0 플랫폼의 개념구성>

'삽질로그' 카테고리의 다른 글

데이터모델링  (0) 2008.11.28
자바스크립트로 UI 구현하기  (0) 2008.10.11
GDB 사용하기  (0) 2008.04.17
레베카프로 드라이버-데탑용 웹캠  (0) 2008.01.22
개정된영문이름표기법  (0) 2008.01.21

GDB 사용하기
 
개요
gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog]
[-c core] [-x cmds] [-d dir] [prog[core|procID]]
 
1.    GDB
 
GDB같은 디버거의 목적은 다른 프로그램 수행 중에 프로그램 내부에서무슨 일이 일어나고 있는지 보여주거나 프로그램이 잘못 실행되었을 무슨 일이 일어나고 있는지 보여주는 것이다. GDBC, C++, Modula-2 프로그램을 디버그 있다.
쉘에서 gdb GDB 시작하면 quit 종료명령을 주기전까지는 터미널로부터 명령라인을 읽어 들인다. help명령을 사용하여 gdb내부에서 도움말을 있다.
디버깅을 하기 위해서는 –g옵션을 주고 컴파일/링크 해야 한다. 만약 링크가 libg.a 찾을 없다고 하면서 실패하게 되면, /usr/lib/ligb.a 갖고 있지 않기 때문이다. 파일은 특별한 라이브러리로서 디버깅 가능 C라이브러리이다. libc 패키지에 포함되어 있거나 또는 libc 소스 코드를 받아서 컴파일 하면 생긴다. /usr/lib/libc.a /usr/lib/libg.a 링크 시켜도 된다.
 
l         코어파일 분석하기
 
코어파일은 충돌할 당시 프로세스의 메모리 이미지를 덤프한 것이다. 코어파일을 gdb 함께 사용하여 프로그램의 상태를 조사하고 실패 원인을 규명할 있다. 어떤 예기치 않은 일이 발생하여 비정상적인 종료가 발생할 운영체계는 디스크에 코어 파일을 남긴다.메모리에 관한 문제는 Checker 패키지를 사용하여 예방할 있다. 하지만 메모리 fault 일으키는 경우에는 충돌하면서 파일을 덤프한다. 코어파일은 일반적으로 프로세스를 실행시킨 현재 작업 디렉토리에 생성되지만 프로그램 내에서 작업 디렉토리를 바꾸는 경우도 있다.
 
보통 리눅스는 부팅시에 코어 파일을 만들지 않도록 세팅되어 있다. 코어 파일 생성을 가능케 하려고 한다면 그것을 다시 가능케 하는 셀의 내장 명령을 사용한다.
만약C 호환 (tcsh) 쓰고 있다면 다음과 같이 명령을 내린다.
%  limit core unlimited
만약 본쉘류( sh , bash , zsh , pdksh ) 사용하고 있다면,
$  ulimit –c unlimited
같은 명령을 내린다.
코어파일을 함께 사용하기 위해선 다음과 같이 한다.
% gdb program core
 
 
 
l         실행 중인 프로그램 디버깅하기
 
gdb 이미 실행중인 프로그램도 디버깅할 있게 해준다. 프로세스 실행을 가로채고 조사한 다시 원래 상태로 실행하도록 있다. attach명령을 사용하여 실행중인 프로세서에 gdb 붙인다. attach 명령을 사용하기 위해서는 프로세스에 해당하는 실행 프로그램에 허가권을 가지고 있어야 한다. 예를 들어 프로세스 ID 254번으로 실행 중인 pgmseq 프로그램이 있다면 다음과 같이 한다.
% gdb pgmseq
% attach 254
다음과 같이 해도 된다.
% gdb pgmseq 254
 
일단 gdb 실행 중인 프로세스에 부착되면 프로그램을 일시 중지 시키고 gdb명령을 사용할 있도록 제어권을 가져온다. break 사용하여 중지점을 사용할 있고 중지점에 이를 때까지 실행하도록 continue 명령을 사용할 있다.
detach명령을 사용하여 gdb 실행 중인 프로세스에서 떼어 낸다. 필요에 따라 다른 프로세스에 대하여 attach명령을 사용할 있다.
 
2.    gdb시작하기
 
% gdb                       - gdb 먼저 실행 file이라는 명령으로 program 부른다.
% gdb  program          - 일반적인 방법이다.
% gdb  program  core  - 코어파일을 사용할 동시에 인자로 준다.
% gdb  program  1234  - 실행중인 프로세스를 디버그 하려면 프로세스 ID 번째 인자로 주면 된다. 명령은 gdb (‘1234’ 이름의 파일이 없다면) 프로세스 1234 접속시킨다.(gdb core파일을 먼저 찾는다.)
 
실행절차
%  gcc  –g  test.c  –o  test
%  gdb  test
명령을 실행하면 다음과 같은 메시지가 나타난다.
% gdb test
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
Welcome to change it and/or distribute copies of it under certain conditions.
Type “show copying” to see the conditions.
There is absolutely no warranty for GDB.  Type “show warranty” for details.
This GDB was configured as “i386-redhat-linux”...
(gdb)
 
3.    많이 사용하는 GDB명령어
 
list
현재 위치에서 소스 파일의 내용을 10 보여준다
list 2, 15 : 소스 파일의2 ~ 15 까지를 보여준다.
run
프로그램을 시작한다.(break 있다면 break까지 실행)
run arg : 새로운 인수를 가지고 프로그램을 시작한다.
arg “*” “[…]” 포함할 수도 있다.
쉘의 사용까지도 확장될 있다.
“<”,“>” , “>>”같은 입출력 방향 재지정기호도 또한 허용된다.
break
특정 라인이나 함수에 정지점을 설정한다.
break function : 현재 파일 안의 함수 function 정지점을 설정한다.
break file:function : 파일file안의 function 정지점을 설정한다.
watch : 감시점 설정(감시점은 어떤사건이 일어날 때에만 작동한다)
until : 실행중 line까지 실행
clear   
특정 라인이나 함수에 있던 정지점을 삭제한다.
delete 
몇몇 정지점이나 자동으로 출력되는 표현을 삭제한다.
next
다음 행을 수행한다. 서브루틴을 호출하면서 계속 수행한다.
호출이 발생하지 않으면 step 같다.
next n : 이를 n 수행하라는 의미
step
줄씩 실행 시킨다.
함수를 포함하고 있으면 함수 내부로 들어가서 줄씩 실행시킨다.
print
print expr : 수식의 값을 보여준다.
display
현재 display 명령의 목록을 보여준다.
bt
프로그램 스택을 보여준다. (backtrace)
kill
디버깅 중인 프로그램의 실행을 취소한다.
file
file program : 디버깅할 프로그램으로서 파일을 사용한다.
cont
continue : 현재 위치에서 프로그램을 계속 실행한다.
help
명령에 관한 정보를 보여주거나 일반적인 정보를 보여준다.
quit
gdb에서 빠져나간다.
 
  
4.    gdb 해보기
 
예제1
 
% vi test.c
      1 #include <stdio.h>
      2
      3 main()
      4 {
      5     int i;
      6     double j;
      7     /*다음은i/2+i 값을 출력하는 문이다.
      8       i1이면 j1.5 되어야 하지만 실제는 그렇지 않다.*/
      9     for( i=0; i<5 ; i++){
     10         j=i/2+i;
     11         printf(“j is %f n”,j);
     12     }
     13 }
% gcc –g test.c –o test
% test
실행이 되지 않으면 mv test a.out으로 하여a.out 실행시킨다. 실행을 시키면 원하는 답이 아니다. 그러면 gdb 해보자.
% gdb a.out
(gdb) list        // list 소스 내용을 10줄씩 보여준다.
1         #include <stdio.h>
2
3         main()
4         {
5         int i;
6         double j;
7         /*다음은i/2+i 값을 출력하는 문이다.
8         i1이면 j1.5 되어야 하지만 실제는 그렇지 않다.*/
9         ( i=0; i<5 ; i++){
j=i/2+i;
 
(gdb) b 9  // break 9 : for 문에 이상이 있다고 판단하여 line 9 breakpoint 잡는다.
Breakpoint 1 at 0x80483d6: file test.c, line 9.
(gdb) r     // run : breakpoint까지 실행된다.
Starting program: /home/pllab/chowing/gdb/a.out
Breakpoint 1, main () at test.c:9
9  for( i=0; i<5 ; i++){
(gdb) s                           // step : 한줄 실행시킨다.
j=i/2+i;
(gdb) s
11  printf(“j is %f n”,j);
(gdb) p j         // print j : j 값을 본다.
$2 = 0
(gdb) n
j is 0.000000
for( i=0; i<5 ; i++){
(gdb) display i
(gdb) display j
(gdb) n
11  printf(“j is %f n”,j);
2: j = 1
1: i = 1
// 10 line에서 실행 i=1 , j=1이므로 10 line에서 잘못된 것을 있다.
// 10 line j = (double) i/2 + i; 고친다.
(gdb) quit
 
예제2
 
% vi hab.c
      1 #include <stdio.h>
      2
      3 int hab(int x, int y);
      4
      5 main(void)
      6 {
      7     int a, b,dab;
      8     printf(“정수a, b 입력하시오”);
      9     scanf(“%d %d”,&a,&b);
     10     dab = hab(a,b);
     11     printf(“n%d + %d = %d n”,a,b,dab);
     12 }
     13 int hab(int x, int y)
     14 {
     15     return (x + y);
     16 }                                      
 
// 프로그램은 이상은 없다. 스택을 보기 위한 것이다.
// 여러 곳에서 호출되는 함수 안에서 충돌이 일어날 경우를 생각해 보자. 때는 함수가 어디로부터 호출되었는지 그리고 어떤 상황에서 충돌이 일어났는지 파악하고자 것이다.
backtrace (bt) 명령을 이용하면 충돌이 일어난 시점에서 프로그램의 현재 호출 스택(call stack) 상태를 있다. 호출 스택은 현재 함수까지 이르는 호출 목록이다. 함수를 호출할 때마다 보관된 레지스터 , 함수 전달 인수, 지역 변수 등의 자료를 스택에 push한다. 이렇게 해서 함수들은 스택상에 일정 공간을 차지한다. 특정함수에 대하여 스택에서 사용되고 있는 메로리 부분을 스택프레임(frame)이라 부르며 호출 스택은 이러한 스택 프레임을 순서대로 정렬한 목록이다.
% gdb hab
(gdb) b 10      Breakpoint 2 at 0x8048428: file hab.c, line 10.
(gdb) r
Starting program: /home/pllab/chowing/gdb/hab
정수a, b 입력하시오3 4
breakpoint 2, main () at hab.c:10
10       dab = hab(a,b);
(gdb) bt         // 현재 스택에 main 있다.
#0  main () at hab.c:10
(gdb) s
hab (x=3, y=4) at hab.c:15
15          return (x + y);
(gdb) bt         // 지금은 스택에 hab 있다.
#0  hab (x=3, y=4) at hab.c:15
#1  0x8048435 in main () at hab.c:10
(gdb) frame 0 // hab 상태를 점검하기 위해서 스택 프레임0번으로 이동
#0  hab (x=3, y=4) at hab.c:15
15          return (x + y);
(gdb) up           // hab 어떻게 호출되었는가를 보기 위하여 상위 스택프레임으로 이동
#1  0x8048435 in main () at hab.c:10
dab = hab(a,b);
(gdb) finish
(gdb) info program     // 프로그램의 실행 상태를 보여 준다.
Using the running image of child Pid 12909.
Program stopped at 0x804843d.
It stopped after being stepped.
(gdb) info locals          // 현재 함수 내에서 모든 지역 변수 이름과 값을 출력한다.
a = 3
b = 4
dab = 7
(gdb) info variables   // 소스파일 순서대로 프로그램 내에 알려져 있는 모든 변수를 출력한다.
(gdb) info address a   // 어떤 변수가 어디에 저장되어 있는지에 대하여 알려 준다.
Symbol “a” is a local variable at frame offset -4.
// a 스택프레임 꼭대기로부터4바이트 아래에 놓여 있다는 뜻이다.
(gdb) info frame          // 현재 프레임 정보를 보여 준다.
Stack level 0, frame at 0xbffff848:
eip = 0x804843d in main (hab.c:11); saved eip 0x400301eb
source language c.
Arglist at 0xbffff848, args:
Locals at 0xbffff848, Previous frame’s sp is 0x0
Saved registers:
ebp at 0xbffff848, eip at 0xbffff84c
 
예제3
 
% vi core.c
      1 #include <stdio.h>
      2
      3 main()
      4 {
      5     char *bug = NULL;
      6
      7     strcpy(bug,“debug”);
      8     printf(“bug is %s n”,bug);
      9
     10     return;
     11 }
     12
% coredebug
Segmentation fault
// core 파일 생성
% gdb coredebug
(gdb) b 7
Breakpoint 1, main () at core.c:7
7           strcpy(bug,”debug”);
(gdb) p bug
$1 = 0x0          // gdb 에서0x0 null이다. 번지가 없다.
(gdb) s
Program received signal SIGSEGV, Segmentation fault.
0x40075434 in ?? ()     
// strcpy에서 segmentation fault 발생한 것을 있다.
// bug 번지를 할당하면 된다.
 
% gdb corebug core  // core파일을 이용하면 bug정보가 나온다.
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type “show copying” to see the conditions.
There is absolutely no warranty for GDB.  Type “show warranty” for details.
This GDB was configured as “i386-redhat-linux”...
warning: core file may not match specified executable file.
Core was generated by ‘a.out’.
Program terminated with signal 11, 세그멘테이션 오류.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/ld-linux.so.2...done.
#0  strcpy (dest=0x0, src=0x8048490 “debug”) at ../sysdeps/generic/strcpy.c:38
../sysdeps/generic/strcpy.c: 그런 파일이나 디렉토리가 없음.
gdb signal 11 번과 함께 코어 파일이 생성되었음을 알려 준다. 여기서는 허가받지 않은 메모리 공간에 읽기, 쓰기를 시도했기 때문에 커널이 프로세스에게 signal 11 보냈다.
시그널로 인해 프로세스는 종료하면서 코어 파일을 덤프한다.
 
l         기타 기능
 
gdb 매우 많은 기능을 가진 프로그램이다.
 
Breakpoint
중지점을 조건적으로 설정할 있다. 어떤 동작이 참일 때만 작동하도록 있다.  Ex) break 184 if (stace == 0)
info break 사용하면 모든 중지점과 감시점 목록을 보여 주고 상태도 보여 준다.
disable 사용하여 작동불능으로 있고 enable 사용하여 가능하게 수도 있다.
 
 
인스트럭션 레벨 디버깅
gdb 통해 인스트럭션 레벨의 디버깅을 있으므로 프로그램의 매우 깊은 내부까지 조사할 있다.
(gdb) disass play      //play함수에 대한 디스어셈블리.
(gdb) display/ i $pc   //현재의 인스트럭션을 보여준다. $pc gdb내부 변수로서 현재 인스트럭션의 위치를 가리키는 프로그램 카운터이다.
 
옵션
옵션 이외의 모든 인자는 실행가능 파일과 core 파일(또는 프로세스 ID)로 인식된다.
즉 옵션 플래그 없는 첫번째 인자는 `-se' 옵션과 같고, 두번째 인자는, 존재한다면,
`-c' 옵션과 같다(인자가 파일이름인 경우). 많은 옵션에 짧은 형식과 긴 형식이 있는데,
둘다 아래에 설명된다. 긴 옵션은 일부만 써도 애매하지 않으면 인식된다.
(당신이 그렇게 하고 싶다면, `-'대신 `+'로 옵션을 나타낼 수도 있다. 우린 일반적 관례인 -를 쓰겠다)

모든 옵션과 명령행 인자들은 순차적으로 처리된다. `-x'옵션을 사용할 경우 순서가 다르면 결과도 다르다.

  -help, -h : 모든 옵션을 짧은 설명과 함께 보여준다.

  -symbols=file, -s file : file로부터 심볼 테이블을 읽어들인다.

  -exec=file, -e file : 적당하다면 실행파일로 file을 사용하여 core dump의 내용을 검사한다.

  -se=file : file로부터 심볼 테이블을 읽어들이고 또한 실행파일로 사용한다.

  -core=file, -c file : file을 검사할 core dump로 사용한다.

  -command=file, -x file : file안의 GDB 명령을 수행한다.

  -directory=directory, -d directory : 소스 파일 검색 경로에 directory를 추가한다.

  -nx, -n : 초기화 파일 `.gdbinit'의 명령을 수행하지않는다.
      보통 모든 옵션과 인자가 처리된 후 초기화 파일의 명령이 실행된다.

  -quiet, -q : 도입 메시지와 저작권 메시지를 출력하지않는다. 배치 모드에서도 이들 메시지는
                     출력되지않는다.

  -batch : 배치 모드로 수행한다. `-x' 옵션으로 지정한 파일(.gdbinit' 파일)의 명령들을 수행한 후
               종료상태 0으로 종료한다.
      파일의 GDB 명령을 수행하던 중 오류가 발생하면 0이 아닌 종료상태로 종료한다.
      프로그램을 내려받아서 다른 컴퓨터에서 실행하는 경우등에, GDB를 필터로 사용할 수 있는데
      이때 배치 모드가 유용하다.
      이 모드가 더 쓸모있도록, GDB하에서 수행되던 프로그램이 종료되면 나오는 Program exited
               normally. 이란 메시지가 배치 모드에서는 나오지 않는다.

  -cd=directory : 현재 디렉토리 대신 directory를 작업 디렉토리로 하여 GDB를 수행한다.

  -fullname, -f : 이맥스의 서브프로세스로 GDB가 수행될 때 이 옵션이 켜진다.
      이 옵션이 켜지면 GDB는 전체 파일이름과 행번호를, 스택 프레임을 디스플레이할 때마다
      (프로그램이 정지되는 경우도 여기에 해당된다) 표준적이고 알아볼 수 있는 양식으로 출력한다.
      이 양식은 ` 32'뒤에 파일이름, 콜론으로 구분된 행번호와 문자위치, 개행문자가 오는 것이다.
      이맥스-GDB 접속프로그램은 ` 32'를 프레임의 소스코드를 디스플레이하란 신호로 사용한다.

  -b bps : 원격 디버깅에 사용되는 직렬 인터페이스의 회선속도(보오율이나 초당 비트수)를 설정한다.

  -tty=device : device를 표준입력과 표준출력으로 하여 프로그램을 실행한다

'삽질로그' 카테고리의 다른 글

자바스크립트로 UI 구현하기  (0) 2008.10.11
검색의 혁명 Search 2.0  (0) 2008.09.24
레베카프로 드라이버-데탑용 웹캠  (0) 2008.01.22
개정된영문이름표기법  (0) 2008.01.21
DDoS 관련 정보  (0) 2008.01.14

작년에 구매한 데탑에 장착된 레베카프로 웹캠 드라이버
수동설치하는것 추천.

수동설치버전 다운로드

invalid-file

수동설치용


자동설치버전

'삽질로그' 카테고리의 다른 글

검색의 혁명 Search 2.0  (0) 2008.09.24
GDB 사용하기  (0) 2008.04.17
개정된영문이름표기법  (0) 2008.01.21
DDoS 관련 정보  (0) 2008.01.14
DDoS 공격 툴 NetBot Attacker  (0) 2008.01.11

ㄱ 가 ga

각 gak

간 gan

갈 gal

감 gam

갑 gap

갓 gat

강 gang

개 gae

객 gaek

거 geo

건 geon

걸 geol

검 geom

겁 geop

게 ge

겨 gyeo

격 gyeok

견 gyeon

결 gyeol

겸 gyeom

겹 gyeop

경 gyeong

계 gye

고 go

곡 gok

곤 gon

골 gol

곳 got

공 gong

곶 got

과 gwa

곽 gwak

관 gwan

괄 gwal

광 gwang

괘 gwae

괴 goe

굉 goeng

교 gyo

구 gu

국 guk

군 gun

굴 gul

굿 gut

궁 gung

권 gwon

궐 gwol

귀 gwi

규 gyu

균 gyun

귤 gyul

그 geu

극 geuk

근 geun

글 geul

금 geum

급 geup

긍 geung

기 gi

긴 gin

길 gil

김 gim

까 kka

깨 kkae

꼬 kko

꼭 kkok

꽃 kkot

꾀 kkoe

꾸 kku

꿈 kkum

끝 kkeut

끼 kki

 

 

ㄴ 나 na

낙 nak

 

 

 

난 nan

날 nal

남 nam

납 nap

낭 nang

내 nae

냉 naeng

너 neo

널 neol

네 ne

녀 nyeo

녁 nyeok

년 nyeon

념 nyeom

녕 nyeong

노 no

녹 nok

논 non

놀 nol

농 nong

뇌 noe

누 nu

눈 nun

눌 nul

느 neu

늑 neuk

늠 neum

능 neung

늬 nui

니 ni

닉 nik

닌 nin

닐 nil

님 nim

 

ㄷ 다 da

 

 

 

 

단 dan

달 dal

담 dam

답 dap

당 dang

대 dae

댁 daek

더 deo

덕 deok

도 do

독 dok

돈 don

돌 dol

동 dong

돼 dwae

되 doe

된 doen

두 du

둑 duk

둔 dun

뒤 dwi

드 deu

득 deuk

들 deul

등 deung

디 di

따 tta

땅 ttang

때 ttae

또 tto

뚜 ttu

뚝 ttuk

뜨 tteu

띠 tti

 

ㄹ 라 ra

 

 

 

 

락 rak

란 ran

람 ram

랑 rang

래 rae

랭 raeng

량 ryang

렁 reong

레 re

려 ryeo

력 ryeok

련 ryeon

렬 ryeol

렴 ryeom

렵 ryeop

령 ryeong

례 rye

로 ro

록 rok

론 ron

롱 rong

뢰 roe

료 ryo

룡 ryong

루 ru

류 ryu

륙 ryuk

륜 ryun

률 ryul

륭 ryung

르 reu

륵 reuk

른 reun

름 reum

릉 reung

리 ri

린 rin

림 rim

립 rip

 

ㅁ 마 ma

 

 

 

 

막 mak

만 man

말 mal

망 mang

매 mae

맥 maek

맨 maen

맹 maeng

머 meo

먹 meok

메 me

며 myeo

멱 myeok

면 myeon

멸 myeol

명 myeong

모 mo

목 mok

몰 mol

못 mot

몽 mong

뫼 moe

묘 myo

무 mu

묵 muk

문 mun

물 mul

므 meu

미 mi

민 min

밀 mil

 

 

 

 

 ㅂ 바 ba

박 bak

반 ban

발 bal

 

밥 bap

방 bang

배 bae

백 baek

뱀 baem

버 beo

번 beon

벌 beol

범 beom

법 beop

벼 byeo

벽 byeok

변 byeon

별 byeol

병 byeong

보 bo

복 bok

본 bon

봉 bong

부 bu

북 buk

분 bun

불 bul

붕 bung

비 bi

빈 bin

빌 bil

빔 bim

빙 bing

빠 ppa

빼 ppae

뻐 ppeo

뽀 ppo

뿌 ppu

쁘 ppeu

삐 ppi

 

 

 

 

 ㅅ 사 sa

삭 sak

산 san

살 sal

 

삼 sam

삽 sap

상 sang

샅 sat

새 sae

색 saek

생 saeng

서 seo

석 seok

선 seon

설 seol

섬 seom

섭 seop

성 seong

세 se

셔 syeo

소 so

속 sok

손 son

솔 sol

솟 sot

송 song

쇄 swae

쇠 soe

수 su

숙 suk

순 sun

술 sul

숨 sum

숭 sung

쉬 swi

스 seu

슬 seul

슴 seum

습 seup

승 seung

시 si

식 sik

신 sin

실 sil

심 sim

십 sip

싱 sing

싸 ssa

쌍 ssang

쌔 ssae

쏘 sso

쑥 ssuk

씨 ssi

 

ㅇ 아 a

 

 

 

 

악 ak

안 an

알 al

암 am

압 ap

앙 ang

앞 ap

애 ae

액 aek

앵 aeng

야 ya

약 yak

얀 yan

양 yang

어 eo

억 eok

언 eon

얼 eol

엄 eom

업 eop

에 e

여 yeo

역 yeok

연 yeon

열 yeol

염 yeom

엽 yeop

영 yeong

예 ye

오 o

옥 ok

온 on

올 ol

옴 om

옹 ong 

와 wa

완 wan

왈 wal

왕 wang

왜 wae

외 oe

왼 oen

요 yo

욕 yok

용 yong

우 u

욱 uk

운 un

울 ul

움 um

웅 ung

워 wo

원 won

월 wol

위 wi

유 yu

육 yuk

윤 yun

율 yul

융 yung

윷 yut

으 eu

은 eun

을 eul

음 eum

읍 eup

응 eung

의 ui

이 i

익 ik

인 in

일 il

임 im

입 ip

잉 ing

 ㅈ 자 ja

작 jak

잔 jan

잠 jam

잡 jap

장 jang

재 jae

쟁 jaeng

저 jeo

적 jeok

전 jeon

절 jeol

점 jeom

접 jeop

정 jeong

제 je

조 jo

족 jok

존 jon

졸 jol

종 jong

좌 jwa

죄 joe

주 ju

죽 juk

준 jun

줄 jul

중 jung

쥐 jwi

즈 jeu

즉 jeuk

즐 jeul

즘 jeum

즙 jeup

증 jeung

지 ji

직 jik

진 jin

질 jil

짐 jim

집 jip

징 jing

짜 jja

째 jjae

쪼 jjo

찌 jji

 

 

 

 

 ㅊ 차 cha

착 chak

찬 chan

찰 chal

 

참 cham

창 chang

채 chae

책 chaek

처 cheo

척 cheok

천 cheon

철 cheol

첨 cheom

첩 cheop

청 cheong

체 che

초 cho

촉 chok

촌 chon

총 chong

최 choe

추 chu

축 chuk

춘 chun

출 chul

춤 chum

충 chung

측 cheuk

층 cheung

치 chi

칙 chik

친 chin

칠 chil

침 chim

칩 chip

칭 ching

 

 

 

칩 chip

칭 ching

 

 

 

ㅋ 코 ko

쾌 kwae

크 keu

큰 keun

키 ki

ㅌ 타 ta

탁 tak

탄 tan  

 

 

탈 tal

탐 tam

탑 tap

탕 tang

태 tae

택 taek

탱 taeng

터 teo

테 te

토 to

톤 ton

톨 tol

통 tong

퇴 toe

투 tu

퉁 tung

튀 twi

트 teu

특 teuk

틈 teum

티 ti

 

 

 

 

 ㅍ 파 pa

판 pan

팔 pal

패 pae

 

팽 paeng

퍼 peo

페 pe

펴 pyeo

편 pyeon

폄 pyeom

평 pyeong

폐 pye

포 po

폭 pok

표 pyo

푸 pu

품 pum

풍 pung

프 peu

피 pi

픽 pik

필 pil

핍 pip

 

ㅎ 하 ha

 

 

 

 

학 hak

한 han

할 hal

함 ham

합 hap

항 hang

해 hae

핵 haek

행 haeng

향 hyang

허 heo

헌 heon

험 heom

헤 he

혀 hyeo

혁 hyeok

현 hyeon

혈 hyeol

혐 hyeom

협 hyeop

형 hyeong

혜 hye

호 ho

혹 hok

혼 hon

홀 hol

홉 hop

홍 hong

화 hwa

확 hwak

환 hwan

활 hwal

황 hwang

홰 hwae

횃 hwaet

회 hoe

획 hoek

횡 hoeng

효 hyo

후 hu

훈 hun

훤 hwon

훼 hwe

휘 hwi

휴 hyu

휼 hyul

흉 hyung

흐 heu

흑 heuk

흔 heun

흘 heul

흠 heum

흡 heup

흥 heung

희 hui

흰 huin

히 hi

힘 him

 

 

'삽질로그' 카테고리의 다른 글

GDB 사용하기  (0) 2008.04.17
레베카프로 드라이버-데탑용 웹캠  (0) 2008.01.22
DDoS 관련 정보  (0) 2008.01.14
DDoS 공격 툴 NetBot Attacker  (0) 2008.01.11
정보보호전문가 응시예정  (0) 2008.01.11
http://blog.sorpyo.com/trackback/29

결론

마땅한 대응책은 없지만

브릿지 방화벽 또는 IPTABLES 를 사용해서 서버단위의 공격은 대응가능

하지만 자주사용하는 포트에 대한 네트워크공격인 경우라면

라우터나 기타장비 자체가 마비되는 증상이 나타나므로 블랙홀기법등을 사용해서

일부분 대응은 가능하지만, 원천적으로는 해당 원격지의 아이피를 확인해서 막는것

이외에는 대안이 없다.

장비가 다양하게 나오고 있으나, 대부분 고가.

방어장비의 리스트프라이스는 최소 700에서 3300 정도까지 거론된다

'삽질로그' 카테고리의 다른 글

레베카프로 드라이버-데탑용 웹캠  (0) 2008.01.22
개정된영문이름표기법  (0) 2008.01.21
DDoS 공격 툴 NetBot Attacker  (0) 2008.01.11
정보보호전문가 응시예정  (0) 2008.01.11
DDoS 공격관련 문서와 툴  (0) 2008.01.11

작년에 아이템베이등 국내 아이템 거래 사이트를 초토화 시키고 최근에 웹 사이트를 대상으로 하는 랜섬어택으로 DDoS를 많이 당하고 있는데 사용된 툴이라고 합니다,
아래 사이트에서 공격 데모를 보여주고 있습니다.
데모 화면을 보시면 중국해커 PC에 어떤 프로그램이 설치되어 있는지 그리고 주로 무슨 툴을 사용하는지도 엿볼 수 있습니다.
여기서 해커의 성향을 엿볼 수 있는데 지금 데모를 하는 중국해커는 공격성향이 강한 사람 같습니다. 데모지만 실제 서비스 사이트에 대해 주저하지 않고 공격을 해버립니다.
근데 한가지 의문은 데모에서 단지 5대의 좀비 PC로 웹 서버가 죽는게 이상합니다. 5대 좀비 PC 가지고 대량의 트래픽 발생한다는 것은 불가능한데도 웹 서버가 죽는 것 보면 뭔가 특별한 DoS 공격인 것 같습니다.
잘 보시면 DoS 공격 타입이 CC Attack 타입을 선택하고 있습니다. 이 부분이 핵심입니다.
PC 화면에 보니 syser, MS VC++, GMER, FBFD.EXE, ooBar2000.exe, Samsung PC Studio3(삼성 휴대폰 연결프로그램), 중국어로 된 각종 기능을 알 수 없는 프로그램들...   아래 화면을 보시면 NetBot Attacker에서 아이피 주소와 한국이라는 도메인이 나오는 부분이 있는데 이게 바로 자동으로 좀비 PC가 해커 PC로 리버스 커넥션한 좀비 PC 리스트입니다. 그리고 옆에다 찍으면 그 좀비 PC가 공격하는 형태입니다.

해킹은 확실히 공격하는 측보다는 막는 측이 불리합니다.
DDoS 공격툴은 확실히 가난하지만 사악한 Hacker자들이 선호하는 무기입니다.

-->
http://www.hackeroo.com/move/netbot_attacker.html

(1) NetBot Attacker 1.6 Public 버전



(2) NetBot Attacker 2.3 VIP 영문버전

좌측 상단은 좀비 PC 리스트이고 우측 하단은 원격에서 쉘로 좀비 PC에 들어가 있는 것으로 추정되고 좌축 하단은 FTP로 파일 업로드 다운로드 하는 매니저 프로그램이다.


이 툴만 있으면 반대로 국내에 좀비 PC를 찾아내는 것이 더 쉬울 듯 합니다.
그러나 일부 좀비 PC가 하나의 가치로 평가되어 Botnet정보가 거액으로 거래된다고 합니다.


(3) 국내외에 좀비 PC 리스트를 한눈에 확인할 수 있다.

 

'삽질로그' 카테고리의 다른 글

개정된영문이름표기법  (0) 2008.01.21
DDoS 관련 정보  (0) 2008.01.14
정보보호전문가 응시예정  (0) 2008.01.11
DDoS 공격관련 문서와 툴  (0) 2008.01.11
프리젠테이션에 도움이 되는 자료들  (1) 2007.12.27
http://www.aiitqc.com/n/_sys_sis/sys_sis01.asp




2007년 시험일정

 [ 정보보호전문가(SIS) 정기시험 ]

<SIS 1급 시험일정>

구분
제11회
제12회
필기
실기
필기
실기
시 험 일
5. 12
09:00 ~ 12:00
5. 12
13:00 ~ 16:00
9. 8
09:00 ~ 12:00
9. 8
13:00 ~ 16:00
원서 접수
4. 9 ~4. 20
4. 9 ~4. 20
8. 6 ~ 8. 17
8. 6 ~ 8. 17
합격자
발표
5. 30
5. 30
9. 28
9. 28
※ 시험 시간은 SIS 1급 필기 180분(휴식시간 20분 포함), SIS 1급 실기 180분

<SIS 2급 시험일정>

구분
제13회
제14회
필기
실기
필기
실기
시 험 일
5. 12
09:00 ~ 12:00
5. 12
13:00 ~ 15:30
9. 8
09:00 ~ 12:00
9. 8
13:00 ~ 15:30
원서 접수
4. 9 ~4. 20
4. 9 ~4. 20
8. 6 ~ 8. 17
8. 6 ~ 8. 17
합격자
발표
5. 30
5. 30
9. 28
9. 28
※ 시험 시간은 SIS 2급 필기 180분(휴식시간 20분 포함), SIS 2급 실기 150분


'삽질로그' 카테고리의 다른 글

DDoS 관련 정보  (0) 2008.01.14
DDoS 공격 툴 NetBot Attacker  (0) 2008.01.11
DDoS 공격관련 문서와 툴  (0) 2008.01.11
프리젠테이션에 도움이 되는 자료들  (1) 2007.12.27
현재폴더에서 도스창 실행  (0) 2007.10.22
http://staff.washington.edu/dittrich/misc/ddos/




  • Analyses and talks on attack tools



    Defensive Tools

  • '삽질로그' 카테고리의 다른 글

    DDoS 공격 툴 NetBot Attacker  (0) 2008.01.11
    정보보호전문가 응시예정  (0) 2008.01.11
    프리젠테이션에 도움이 되는 자료들  (1) 2007.12.27
    현재폴더에서 도스창 실행  (0) 2007.10.22
    SW품질평가-ISO9126  (2) 2007.10.18
     

    1. Crystalgraphics - PowerPlugs for PowerPoint

    사용자 삽입 이미지

    http://www.crystalgraphics.com

    Crystalgraphics社의 PowerPlugs for PowerPoint는 템플릿과 3D 타이틀, 차트와 헤딩 등
    총 15가지의 Plug-in Combo로 이루어져 있습니다.

    파워포인트의 기본 기능 외, 전문가적인 효과를 초보자도 쉽게 구현할 수 있도록 배려한 세심함이 두드러지는 프로그램입니다.

    사용자 삽입 이미지
    개인적으로는 다양한 헤드 타이틀을 아주 멋스럽게 꾸며주는 PowerPlugs:Heading이 제일 마음에 듭니다.

    Heading을 이용하면 다음과 같은 멋진 헤드타이틀을 쉽게 만들 수 있습니다.

    사용자 삽입 이미지

    2. GlobFX - Swiff Chart

    사용자 삽입 이미지





    http://www.globfx.com

    GlobFX社의 Swiff Chart는 플래시를 이용하여 깔끔하고 멋진 그래프와 차트를 쉽게 제작할 수 있는 프로그램입니다.

    Swiff Chart에서 작업한 그래프와 차트는 파워포인트의 그래프와는 비교할 수 없을 정도로
    미려한 디자인을 자랑하며, 플래시 특유의 다양한 애니메이션 효과를 지원합니다.

    사용자 삽입 이미지

    3. Presentation Pro - PowerPresenter Suite

    사용자 삽입 이미지


    http://www.presentationpro.com

    Presentation Pro社의 PowerPresenter Suite는 다양한 템플릿과 3D Business Graphic,
    1 Click Apply등을 지원하는 프로그램입니다.
    이 프로그램의 가장 큰 특징은 마치 마법사 기능처럼 사용자가 한번의 클릭으로 빠른시간에
    우수한 양질의 결과물을 제작할 수 있는 점입니다.
    사용자 삽입 이미지
    또한 PowerConverter를 이용하여 100Mb가 넘는 큰 용량의 파워포인트 파일을
    3Mb 미만의 작은 크기인 플래시 파일로 변환을 할 수 있습니다.
    파워포인트 등의 다른 Viewer 툴이 필요없고 다양한 멀티미디어 스트리밍이 가능하며,
    Web을 비롯한 온라인 상에 포트폴리오 형식으로 등록하기 용이하다는 장점이 있습니다.

    사용자 삽입 이미지
    4. ThemeGallery - Powerpoint Templates
    사용자 삽입 이미지






    ThemeGallery는 전문 디자이너들이 제작한 아름다운 디자인의 파워포인트 템플릿을 제공하는 사이트입니다.
    여타 사이트와는 비교할 수 없을 정도로 수려한 디자인의 템플릿을 자랑하고 있으며, 파워포인트 외, 웹과 플래시 인트로, 로고 등의 다양한 템플릿을 갖추고 있습니다.
    무조건 다운받아 사용하기보다는 포토샵과 일러스트레이터 등을 통해 비슷하게 만들어보며,
    더 발전된 디자인을 응용하여 Creative할 수 있는 - 지침서 같은 사이트로 활용하시면 좋겠습니다.
    개인적으로는 제가 디자인 영감을 가장 많이 받았던 사이트로서, 테마갤러리의 템플릿 디자인을 가장 많이 참조하여 응용하고 있습니다.

    사용자 삽입 이미지


    5. Keynote Theme Park - Themes

    사용자 삽입 이미지
    http://www.keynotethemepark.com

    이번에 소개하는 Keynote Theme Park는 조금 성격이 다릅니다.

    Keynote는 iPod으로 유명한 미국 Apple社의 매킨토시 컴퓨터에서만 구동이 가능한 프로그램으로서 MS 파워포인트와 비슷한 프리젠테이션 프로그램입니다. 폰트 자체에서 앤티앨리어싱이 지원되므로, 스크린 상에 프리젠테이션을 했을 경우나 인쇄물로 출력을 했을 때 파워포인트와는 비교할 수 없을 정도로 아름다운 디자인을 자랑합니다.

    애니메이션 효과나 화면전환 등에 있어서도 마찬가지로 파워포인트와는 비교할 수 없을 정도로 부드러운 진행을 보이며, 기본 제공되는 테마(템플릿) 역시 상당히 고급스럽습니다.

    물론 일반 PC에서도 애플 에뮬레이터 등을 통해 매킨토시 프로그램인 키노트를 사용할 수 있지만, 엄청난 리소스를 요구하는 관계로 맛보기 조차 벅차다고 생각이 됩니다.
    대신 중고 맥(50-100만원)을 구입하여 세컨드 컴퓨터로 사용하시면서 키노트를 접하시는 것을 추천하고 싶습니다.
    사용자 삽입 이미지

    '삽질로그' 카테고리의 다른 글

    정보보호전문가 응시예정  (0) 2008.01.11
    DDoS 공격관련 문서와 툴  (0) 2008.01.11
    현재폴더에서 도스창 실행  (0) 2007.10.22
    SW품질평가-ISO9126  (2) 2007.10.18
    기능점수(Function Point)산정 및 활용 방안  (0) 2007.08.22

    탐색기 폴더에서, 도스창 실행 레지스트리: '여기에 명령 프롬프트' Command Line Here Registry



    아무 폴더에서나, 그 폴더를 "시작 위치"로 하여, 도스창(명령 프롬프트;CMD.EXE)을 쉽게 실행하는 방법입니다.

    원래 도스창을 실행하면
    C:\Documents and Settings\<현재 로그인한 사용자ID>
    항상 이런 폴더(디렉토리)에서 시작되기에 불편합니다.


    그러나 이 게시물에서 소개하는 방법을 사용하면 이제,

    윈도우 탐색기 (Windows Explorer)에서, 특정 폴더를 선택하고, 마우스 우측 버튼으로 눌러 "Command Line Here (이 폴더에 명령프롬프트)" 라는 항목만 선택하면, 그 폴더에서 도스창이 시작됩니다.

    가령
    D:\Program Files\IDM Computer Solutions\UltraEdit
    라는 폴더를 선택하고, 마우스 우측 버튼의 "문맥 메뉴 (컨텍스트 메뉴)"에서, "Command Line Here" 항목을 선택하면

    Microsoft Windows 2000 [Version 5.00.2195]
    (C) Copyright 1985-2000 Microsoft Corp.

    D:\Program Files\IDM Computer Solutions\UltraEdit>

    이렇게, "현재 선택된 폴더"에서 도스창이 시작됩니다.



    컨텍스트 메뉴에서, 도스창(명령 프롬프트) 실행하는 레지스트리


    메모장 등의 편집기를 이용하여, 다음의 코드 박스에 있는 내용을, "Command Line Here.reg" 라는 이름의 파일로 하드에 저장합니다.

    파일명: Command Line Here.reg
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\CmdPrompt]
    @="Command &Line Here"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\CmdPrompt\command]
    @="cmd.exe %L"




    이제 "Command Line Here.reg" 라는 파일을 클릭하면

    ---------------------------
    레지스트리 편집기
    ---------------------------
    D:\Z\COMMAN~1.REG의 정보를 레지스트리에 추가하시겠습니까?
    ---------------------------
    예(Y) 아니오(N)
    ---------------------------
    이런 대화상자가 나옵니다. "예"를 클릭합니다.


    그러면
    ---------------------------
    레지스트리 편집기
    ---------------------------
    D:\Z\COMMAN~1.REG의 정보가 레지스트리에 입력되었습니다.
    ---------------------------
    확인
    ---------------------------
    이런 대화상자가 나옵니다. "확인" 버튼을 클릭합니다.


    그런 후, 이제 윈도우 탐색기를 실행시키고, 폴더 트리에서 아무 폴더를 선택하고, 마우스 우측 버튼을 누르면
    Command Line Here
    라는 항목이 있을 것입니다. 그것을 선택하면 현재 폴더에서 도스창이 실행됩니다.





    탐색기 좌측의 "폴더 트리 창"에서만 잘 작동하고, 우측 창의 폴더 목록에서는 정확히 되지 않는 한계가 있습니다.

    + Recent posts