현재 IT 트랜드의 초 이슈라고도 할 수 있는 키워드인데
그동안 나와는 딱히 접점이 없을거라 생각해서 찾아보지 않다가
이제서야 관심을 가지게 되었다
그리고 구글과 유튜브 검색으로 알게 되었는데
메타버스의 정의에 대해 검색하여 분석해보니
과거 PC통신에서 인터넷으로 전환되던 90년대 초기에 급부상했던 사이버라는 키워드와 유사한 패러다임이라고 느끼고 있다
당시에도 사이버,버추얼,가상이라는 단어를 붙여 많은 컨텐츠들에 적용하곤 했었는데
메타도 사회 전반에 걸쳐 여기저기 가져다 붙이고 있다
대기업은 물론이고 중소기업 그리고 대학교, 초중고등학교 등의 재계와 학계가 모두 메타라는 용어를 사용한다

메타버스는 가상,현실,이상,문화,경제 등등 많은것을 포괄하는 추상적인 개념이다
메타버스 플랫폼이라고 하는 솔루션들조차(zepeto,zep,gather town. . .) 하나의 구현체일뿐 메타버스 자체를 의미하지 못한다
엄밀히 말하면 가상강현실이든 증강현실이든 동일한 현실을 구현해 놓는것은 메타버스로 볼 수 없다
그래서 메타버스 플랫폼 ... 게임, 시스템 이라고 하는 것들은 그저 마케팅과 영업을 위한 상업적인 키워드로써 메타버스를 사용하고 있을 뿐이다

위와 같은 현재 메타버스라고 나온 구현체들의 한계를 생각해봤을때
우리가 진정한 메타버스 세계를 경험하게 된다면 그때를 위해 가장 먼저 준비해야 할 것이 무엇일까를 고민해 봤다

우리는 메타버스 세계에서 자신의 존재감과 주체성을 유지하며 타인으로부터 나를 보호하기 위한 방어막으로 인증과 보안 기술을 준비해야 한다
그것을 통해 상대방에 대해서도 메타버스 내의 제대로 된 구성원인지 여부를 판단할 수 있게 된다

한때 그러했듯이 인터넷 세상에 아무런 보호막이 없던 시절에 각종 사이버 범죄가 난무하고 현재까지도 그러한 위험 요소들이 여전히 공존해가는 인터네트를 상기하며
우리는 이제 또다른 네트인 메타버스를 동일하게 준비해야 한다는 것을 알고 있다
이미 로블록스와 제페토 서비스를 이용한 성범죄가 그에 대한 경종이 될 수 있다

20년전 디아블로2를 2년여간 플레이하며 애써 키운 케릭터가 있었는데
어느날 역주변 허름한 PC방에서 누군가 몰래 설치한 해킹프로그램에 의해 아이디가 해킹당했을때 나는 디아블로2를 접을 수 있게 되었다
이제 또다시 메타버스 내에서 나와 같은 유사 경험을 겪게 될 불쌍한 유저들이 속출하게 될 것이다


'정보 > IT' 카테고리의 다른 글

메타버스 플랫폼 요약  (0) 2022.06.05
메타버스 준비하기  (0) 2022.06.01
[windows/certbot] letsencrypt 인증서 발급 및 폐기  (1) 2021.12.09
감사 실패 NtLmSs  (0) 2021.10.23
서버 관리에 대하여  (0) 2021.08.28
버그이지만 오동작이 아닙니다  (0) 2021.03.24

OMNIBUSCODE 홈페이지 발췌 내용 - 프로젝트 - 인증서 관리 (*.omnibuscode.com)

  • GiGA WiFi home 단말기에서 기존 80 to 443 포트 바인딩을 삭제하고 80 to 80포트로 바인딩
  • 웹서버 PC에 원격데스크톱으로 접속
  • 웹서버 정지
  • 도스 커맨드 창을 관리자 권한으로 실행
  • 커맨드 명령어 -> certbot certonly --standalone
  • 도메인 입력 -> www.omnibuscode.com 
        > Standalone 방식은 와일드 카드가 먹히지 않는다
        > 와일드 카드를 사용하려면 DNS 인증 방식으로 변경해야 한다
  • CMD창에 발급받은 인증서 정보를 확인하고 스크랩하여 댓글로 기록
  • 작업후 보안을 위해 80 to 443 포트 포워딩 설정을 복원해야함 (댓글 첨부이미지 참고)
  • 웹서버 시작

 

'정보 > IT' 카테고리의 다른 글

메타버스 플랫폼 요약  (0) 2022.06.05
메타버스 준비하기  (0) 2022.06.01
[windows/certbot] letsencrypt 인증서 발급 및 폐기  (1) 2021.12.09
감사 실패 NtLmSs  (0) 2021.10.23
서버 관리에 대하여  (0) 2021.08.28
버그이지만 오동작이 아닙니다  (0) 2021.03.24
  1. 황제낙엽 2022.03.17 22:18

    관리자의 승인을 기다리고 있는 댓글입니다

새벽에 화장실 다녀와서 다시 잠드려하니 갑작스레 모니터 화면이 켜졌다가 잠시후에 절전모드로 들어갔다

이상한 생각이 들어 이벤트 뷰어를 확인하니 대량의 로그온 시도 실패가 떴다

아마 그동안도 무수히 당했겠지만

전세계 다양한 컴퓨터들에게서 윈도우 로그인 공격을 당하고 있었다 (아마 지구상 어딘가에 있을 크랙커의 프로그램이 이미 좀비가 된 PC들을 통해 우회 공격하였을거다)

이벤트 뷰어에 나온 키워드 NtLmSsp 를 검색하여 내가 당한것이 굉장히 고전적인 해킹 시도였음을 알게 되었다

다음의 출처를 통해 내용을 확인하였다  https://blog.naver.com/renucs/221667277052

그중 일부를 발췌하였다

이 공격은 MS제품군에서 사용하는 NTLM(NT Lan Manager) 인증 프로토콜의 취약점을 이용합니다. 
사실 취약점이라고 하기는 좀 뭐합니다. 결국은 Brute Force 공격이 본질이라..
NTLM 은 윈도우 운영체제에서 사용하는 인증방식입니다. 
Active Directory 같은 도메인 단위의 인증이나 로컬 인증, 혹은 온라인(HTTP) 인증에도 사용합니다.

NTLM 은 기본적으로 시도-응답(Challenge-Response) 방식의 인증을 사용합니다. 
서버에서 클라이언트에게 Challenge 값을 전달하면 이 챌리지 값을 기반에 자신의 비밀정보를 이용하여 Response 값을 만들게 됩니다. 
이 Response 값을 서버에게 전달하여 인증을 받는 방식입니다. 
그런데 이 Response를 생성할때 자신의 비밀번호의 해시값을 이용합니다. 
즉, NTLM 의 클라이언트 Response 값만 수집할 수 있으면 적어도 윈도우 계정의 '비밀번호 해시값'은 획득이 가능합니다.

그리고 위 블로거는 중요한 내용으로 다음을 언급하였다

단순한 비밀번호를 사용한 경우 해독에 그리 오랜시간이 걸리지 않습니다.

다행히 나는 PC를 포함한 모든 windows 장비들에 영문+숫자+특수문자 조합으로 비밀번호를 지정해두고 몇가지 패턴을 돌려가면서 몇개월에 한번씩 바꾸고 있다

그것은 위와 같은 단순 공격에서는 내가 설정한 암호를 해독하는게 꽤나 많은 시간이 필요하기 때문에 시도 몇번만에 포기 될거란걸 알고 있다

다만 위와 같은 고전적인 크랙킹 시도조차 개인이 소유한 양자컴퓨터로 수행하게 된다면...

4차 산업혁명에서 보안이 새로운 패러다임에 돌입하게 됨을 의미한다

비트코인에서 선보인 블럭체인은 암호화 기법이 아닌 사용자 인증을 위한 분산시스템 기법이다

때문에 블럭체인만으로는 다음 PC세대가 될 양자컴퓨팅 환경에서의 보안 솔루션으로 필요 충분이 될 수 없다

컴퓨터 소프트웨어 전공을 이수한 전산인이라면 RSA니 DES니 하는 것들을 잘 알텐데
지금 필요로 되는건 과거 천재 수학자들이 만들어낸 대표적인 암호화 기법인 RSA와 DES를 능가하는 향상된 암호화 기술이 필요로되는 시대가 도래하고 있다

이미 머리 좋은 차세대 천재 수학자들이 미국 FBI나 CIA에서 그들의 감시를 받으며 열심히 연구중일거다

다만 그러한 기술들이 일반인들에게 퍼지고 상용 PC에까지 적용되기 위해서는 대재앙에 가까운 PC해킹 사고가 발생해야할지도 모른다 (그정도의 희생이 없이 쌀나라 국가정보기관에서 함부로 중요 기술을 내놓지 않을테니...)

결론은,,,

나의 중요 자료는 PC의 문서 파일로 저장하지말고 걍 종이에 적어두고 내 개인 서류장에 보관해야겠다

 

'정보 > IT' 카테고리의 다른 글

메타버스 준비하기  (0) 2022.06.01
[windows/certbot] letsencrypt 인증서 발급 및 폐기  (1) 2021.12.09
감사 실패 NtLmSs  (0) 2021.10.23
서버 관리에 대하여  (0) 2021.08.28
버그이지만 오동작이 아닙니다  (0) 2021.03.24
코딩하다 문득 들은 생각  (0) 2019.11.09

자바 프로그래머라는 직업을 선택해서 한동안 프로그래머로 활동하던때엔 프로그래밍과 서버관리가 필수 불가결한 활동이었다

둘 사이의 업무 성향이 조금 다른데
프로그래밍은 머리에 그려놓은 로직의 흐름을 그림 그리듯 코드로 구현해 낸다면
서버관리는 시스템 구성이나 문제 발생시 머리속에 구상한 방안을 순차적인 절차로 시스템을 구성하거나 문제의 원인을 쫓아 해결책을 찾아가게 된다

두가지 업무의 눈에 띄는 차이점은 가시적인 성과에 있다

프로그램의 산출물은 코드이다
일종의 정형화된 문서로써 미완성이거나 가독성이 떨어져도 주요 알고리즘과 로직만 구현되어 있다면 산출물로써의 결과물로 인정 받을 수 있다

하지만 서버관리는 제대로 돌아가는 시스템이라는 최종 산출물로써만 인정을 받는다
피나는 중간 과정이 있을 수 있지만 그건 결과를 위한 과정으로써 시간이라는 값비싼 리소스를 소요시키기 때문에
그저 시간이 오래걸리면 걸릴수록 문제가 해결되지 못함에 따른 책망만 듣게 된다

게다가 서버관리에서 한가지 문제를 해결하기 위해 고려해야 할 사항들은 매우 방대하며
그 방대함 속에서 정확한 해결점을 찾을 수 있는 것이 능력인데 그 능력을 키우기가 쉽지가 않다
따라서 서버관리는 업무 매뉴얼을 만들고 관리하기 위해서 많은 공을 들여야하는데
서버 환경을 제대로 이해하지 못하는 상사밑에서 업무를 수행한다면 진행상에서도 난관이 많고 보상도 높지 않다

그리고 더불어 업무를 수행함에 있어서 성취감도 많이 떨어진다
문제가 없으면 "딱히 하는일은 없어보이네"
문제가 생기면 "도대체 어떻게 관리했길래 이런 문제가 발생해?" 라는 핀잔을 듣기 일쑤다

하지만 프로그램 개발은 하나 완성할때마다 그 프로그램이 얼마나한 완성도를 가지건간에 그에 대한 성취감이 매우 높다
그래서 그 중독에 미쳐서 미친듯이 밤을 새곤 했었다

그렇게 세월이 흐르다보니 이제는 잉여 인간 취급을 받게 되었다
지금은 매우 복합적인 동기부여와 보상이 함께 마련되지 않으면 쉽사리 뭔가에 열정을 쏟기가 힘들어졌다

리셋이 필요한데 시기가 문제이다

'정보 > IT' 카테고리의 다른 글

[windows/certbot] letsencrypt 인증서 발급 및 폐기  (1) 2021.12.09
감사 실패 NtLmSs  (0) 2021.10.23
서버 관리에 대하여  (0) 2021.08.28
버그이지만 오동작이 아닙니다  (0) 2021.03.24
코딩하다 문득 들은 생각  (0) 2019.11.09
OAuth에 대하여  (0) 2019.08.25

프로그래밍에서는 자주 나타나는 현상이다

삼성전자에서 10년동안이나 사용해온 솔루션에서 매우 중요한 기능이 있는데

알고보니 버그였다...

삼성전자에서는 그 버그를 이용해서 정상적인 스펙 동작으로 인식하고 매우 유용하게 사용해 왔었다

그래서 해당 버그를 패치하는 순간 엄청난 후폭풍이 일파만파 전세계로 퍼지게 된다 (마치 코로나처럼)

결국 삼성전자에서는 그 버그를 스펙으로 유지하게끔 의사 결정을 하라고 강요하고 있다

 

 

'정보 > IT' 카테고리의 다른 글

감사 실패 NtLmSs  (0) 2021.10.23
서버 관리에 대하여  (0) 2021.08.28
버그이지만 오동작이 아닙니다  (0) 2021.03.24
코딩하다 문득 들은 생각  (0) 2019.11.09
OAuth에 대하여  (0) 2019.08.25
윈도우 바로가기 명령어 mklink(교차점생성)  (0) 2019.07.21

프로그램을 설계하면서 클래스, 함수, 변수들을 선언하고 이름들을 명명하고 관계들을 정의하다보면

유독 서로간에 관계를 더더욱 견고하게 하려는 버릇이 생겨버린다

 

이는 되도록 중복 코드를 없애고 간결하게만 만드려는 집착증과 강박증이 발현되는 것인데 

그래서 중복된 기능들을 상속을 통해 부모에게 최대한 올려버리고 자식 클래스에는 최소한의 변수값을 통해서만 동작하게 하려고만 한다

 

그렇게 설계된 프로그램의 문제점은 의존성과 영향도에 있다

하나의 클래스 함수를 조금만 수정해도 그 클래스를 inheritance(상속)하거나 composition(구성)하는 클래스들에게 영향을 주게 되버린다

그리고 그것은 디그라데이션이라는 지저분한 문제를 야기시키기 때문에 

결국 기존의 프로그램을 포기하고 새롭게 리뉴얼 할 수 밖에 없게 만든다

 

10년전 SI 할때 접한 Spring 프레임웍의 사상이었던 Dependancy Injection이 필요한 부분이다

그래서 나는 최근 들어 코딩시의 몇가지 규칙을 정하게 되었는데

 

1. 최초 작성하게 되는 클래스의 구성은 목표로하는 동작 한가지에만 집중하여 설계하고 확장성은 전혀 고려하지 않는다

    -> 이것은 최초 아키텍쳐 설계 속도를 가장 빠르게 완성하도록 이끈다

2. 프로그램을 완성해 가면서 기능을 Fix할거라면 그땐 상속과 구성을 통해 클래스 설계를 확정하도록 한다

    -> 1차 마일스톤을 찍어 개발자로써 하나 완성했다는 성취감을 고취한다

3. 최종적인 리팩토링에서는 TDD 적용으로 단위테스트가 가능한 수준으로 다시 쪼개는 작업을 통해 유지보수성을 높인다

    -> 마지막으로 오래가는 프로그램을 위하여 1년후에 코드를 수정하게 되더라도 빠르게 이해하고 손이 좀 덜가게 만드는게 목표다

 

 

위와 같은 나만의 원칙을 갖추는데 지금까지의 프로그램 경력이 필요했지만

그럼에도 불구하고 항상 내가 만든 프로그램을 유지보수 할땐 부족함이 재발견되곤 한다

나조차도 그런데 남들이보면...

그걸 알기에 항상 코드를 작성할땐 꽤 많은 시간을 소비하게 되버린다

'정보 > IT' 카테고리의 다른 글

서버 관리에 대하여  (0) 2021.08.28
버그이지만 오동작이 아닙니다  (0) 2021.03.24
코딩하다 문득 들은 생각  (0) 2019.11.09
OAuth에 대하여  (0) 2019.08.25
윈도우 바로가기 명령어 mklink(교차점생성)  (0) 2019.07.21
AutoSet 설치후 보안 점검  (0) 2019.07.19



* 위키백과 사전 -> https://ko.wikipedia.org/wiki/OAuth
* 사용방법 블로그 링크
  > https://blog.naver.com/rhkrehduq/221611828788
  > https://blog.naver.com/pjok1122/221583426424
  > https://blog.naver.com/slgktn92/221421799679
  > https://blog.naver.com/slgktn92/221422832143

최근 개인스터디 하다가 우연히 발견하게된 사용자 인증에 대한 표준이다
위키백과를 보니 이 개념이 등장한 시기가 2006년 11월이던데
당시엔 표준도 없었기 때문에 유명 대형 사이트(트위터)에서 필요에 의해 개별로 개발되어지고 있었던 기술로 나온다

그리고 우연찮게도 비슷한 시기 2007년도 8월즈음에 나도 유사한 인증 아키텍처를 필요로 하고 있었다
특정사용자에 대해 국내 오픈 커뮤니티 사이트들의 사용자 데이터를 긁어모아 사용자의 커뮤니티 활동에 대한 통계 데이터를 한곳에서 관리하는 서비스를 구상중이었는데
마침 그 인증 방식을 개인 인증이 아닌 서비스 인증으로 아키텍처를 구상했고 기존의 SSO를 변형한 형태로 해서 시스템을 구축해보려 했었다

하지만 당시에 개념만 겨우 생각해두고 그것을 실천할만한 자원이 턱없이 부족했기 때문에
시스템 개발은 현재까지 요원하고 앞으로도 실천할 생각이 없다
만약 당시에 OAuth의 내용을 미리 알았었다면
인증 서비스 표준화 방식의 아키텍처를 이용한 사용자 데이터 통합 관리에 대해 각 커뮤니티를 찾아다니며 프로젝트 제안을 했을지도 모른다

그때 당시 부족했던 리소스는 개발 인력이 문제가 아니었다

인력에 대한 부분은 당시에 나 혼자서도 충분할정도로 컴팩트한 디자인을 가진 시스템이었기 때문이었다
단순히 데이터를 가공하고 저장하는 역할만 할뿐 더 깊은 수치 계산은 필요하진 않았다

당시 나에게 부족했던 리소스는 트위터나 구글과 같은 대형 서비스와의 결탁이었다
일개 개발자가 가진 인지도와 영향력으로는 국내 커뮤니티들을 찾아다니며 간단한 프로젝트 제안조차 엄두가 나지 않았다
한마디로 용기가 없었다

어쩌면 그 무모한 용기로 각 커뮤니티를 방문하다가 반대로 해당 커뮤니티 개발자로부터 OAuth에 대한 이야기를 듣게 되었을지도 모른다
그랬다면 내가 구상한 방식을 바로 버리고 OAuth를 통한 커뮤니티 서비스 네트웍을 형성하자고 바로 기획을 변경했을 것이다

돌이켜보면 어떤 아이디어가 떠올랐을때
그 아이디어를 실천에 옮길 용기가 바로 가장 중요한 재원임을 알게 되었다
실패할걸 미리 두려워해 자기에게 주어진 몇 안되는 기회를 버려버리는 우를 범하지 말아야겠다고 생각한다

mklink /j c:\sdhc d:\

 

+ Recent posts