12 KiB
{% hint style="success" %}
AWS 해킹 학습 및 실습:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 학습 및 실습: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원
- 구독 요금제를 확인하세요!
- 💬 Discord 그룹 또는 텔레그램 그룹에 가입하거나 트위터** 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
기본 개념
- 스마트 계약은 특정 조건이 충족될 때 블록체인에서 실행되는 프로그램으로 중개없이 합의 실행을 자동화합니다.
- **탈중앙화 애플리케이션 (dApps)**은 스마트 계약을 기반으로 하며 사용자 친화적인 프론트엔드와 투명하고 감사 가능한 백엔드를 제공합니다.
- 토큰 및 코인은 코인이 디지털 화폐로 작용하는 반면 토큰은 특정 맥락에서 가치나 소유권을 나타냅니다.
- 유틸리티 토큰은 서비스 접근을 허용하며 보안 토큰은 자산 소유를 나타냅니다.
- DeFi는 중앙 당국 없이 금융 서비스를 제공하는 Decentralized Finance의 약자입니다.
- DEX 및 DAO는 각각 탈중앙화 거래소 플랫폼과 탈중앙화 자율 조직을 가리킵니다.
합의 메커니즘
합의 메커니즘은 블록체인에서 안전하고 합의된 거래 유효성을 보장합니다:
- **작업 증명 (PoW)**은 거래 확인을 위해 계산 능력을 사용합니다.
- **지분 증명 (PoS)**은 유효성 검사자가 일정량의 토큰을 보유해야 하며 PoW에 비해 에너지 소비를 줄입니다.
비트코인 기본 사항
거래
비트코인 거래는 주소 간 자금 이체를 포함합니다. 거래는 디지턀 서명을 통해 유효화되며 개인 키 소유자만 이체를 시작할 수 있습니다.
주요 구성 요소:
- 다중 서명 거래는 거래를 승인하기 위해 여러 서명이 필요합니다.
- 거래는 입력 (자금 출처), 출력 (목적지), 수수료 (마이너에게 지불), 및 스크립트 (거래 규칙)로 구성됩니다.
라이트닝 네트워크
여러 거래를 채널 내에서 수행하고 최종 상태만 블록체인에 브로드캐스트하여 비트코인의 확장성을 향상시키는 것을 목표로 합니다.
비트코인 개인 정보 보호 우려
공통 입력 소유 가정 및 UTXO 변경 주소 감지와 같은 개인 정보 공격은 거래 패턴을 악용합니다. 믹서 및 CoinJoin과 같은 전략은 사용자 간 거래 링크를 숨겨 개인 정보 보호를 향상시킵니다.
익명으로 비트코인 획득
현금 거래, 채굴, 및 믹서 사용이 포함됩니다. CoinJoin은 여러 거래를 혼합하여 추적을 복잡하게 하며 PayJoin은 더 높은 개인 정보 보호를 위해 CoinJoin을 일반 거래처럼 위장합니다.
비트코인 개인 정보 보호 공격
비트코인 개인 정보 보호 공격 요약
비트코인 세계에서 거래의 개인 정보 보호와 사용자의 익명성은 종종 우려의 대상입니다. 여기에는 공격자가 비트코인 개인 정보를 침해할 수 있는 여러 일반적인 방법에 대한 간소화된 개요가 포함되어 있습니다.
공통 입력 소유 가정
일반적으로 서로 다른 사용자의 입력이 하나의 거래에서 결합되는 것은 복잡성 때문에 드물기 때문에 동일한 소유자에게 속한 것으로 가정되는 경우가 많습니다.
UTXO 변경 주소 감지
UTXO 또는 사용되지 않은 거래 출력은 거래에서 완전히 사용되어야 합니다. 일부만 다른 주소로 전송되면 나머지는 새로운 변경 주소로 이동합니다. 관찰자는 이 새 주소가 송신자에게 속한다고 가정하여 개인 정보를 침해할 수 있습니다.
예시
이를 완화하기 위해 믹싱 서비스 또는 여러 주소 사용이 소유권을 숨기는 데 도움이 될 수 있습니다.
소셜 네트워크 및 포럼 노출
사용자는 때로 온라인에서 비트코인 주소를 공유하여 해당 주소를 소유자에게 링크하는 것이 쉽습니다.
거래 그래프 분석
거래는 그래프로 시각화될 수 있으며 자금의 흐름을 기반으로 사용자 간의 잠재적 연결을 보여줍니다.
불필요한 입력 휴리스틱 (최적 변경 휴리스틱)
이 휴리스틱은 여러 입력과 출력을 갖는 거래를 분석하여 변경이 송신자에게 반환되는 것을 추측합니다.
2 btc --> 4 btc
3 btc 1 btc
강제 주소 재사용
공격자는 이전에 사용된 주소로 소액을 송금하여 수신자가 이를 향후 거래에서 다른 입력과 결합하도록 하여 주소를 연결하는 것을 희망할 수 있습니다.
올바른 지갑 동작
개인 정보 누출을 방지하기 위해 지갑은 이미 사용된 빈 주소에서 받은 코인을 사용하지 않아야 합니다.
기타 블록체인 분석 기술
- 정확한 지불 금액: 거스름돈이 없는 거래는 동일한 사용자가 소유한 두 주소 간에 이루어졌을 가능성이 높습니다.
- 둥근 숫자: 거래에서 둥근 숫자는 지불을 나타내며, 비둥근 출력은 거스름돈일 가능성이 높습니다.
- 지갑 지문: 서로 다른 지갑은 고유한 거래 생성 패턴을 가지고 있어 분석가가 사용된 소프트웨어와 잠재적으로 거스름돈 주소를 식별할 수 있습니다.
- 금액 및 시간 상관 관계: 거래 시간이나 금액을 공개하면 거래를 추적할 수 있습니다.
트래픽 분석
네트워크 트래픽을 모니터링함으로써 공격자는 IP 주소를 통해 거래나 블록을 연결할 수 있어 사용자의 개인 정보를 침해할 수 있습니다. 특히 한 엔티티가 많은 비트코인 노드를 운영하는 경우, 거래를 모니터링하는 능력이 향상됩니다.
더 알아보기
개인 정보 공격 및 방어에 대한 포괄적인 목록은 비트코인 위키의 비트코인 개인 정보를 방문하십시오.
익명 비트코인 거래
익명으로 비트코인 획득하는 방법
- 현금 거래: 현금으로 비트코인을 획득하는 것.
- 현금 대체 수단: 상품권을 구매하고 온라인에서 비트코인으로 교환하는 것.
- 채굴: 비트코인을 획득하는 가장 개인 정보 보호 수준이 높은 방법은 채굴을 통해 하는 것이며, 특히 혼자 하는 경우에는 채굴 풀이 채굴자의 IP 주소를 알 수 있을 수 있습니다. 채굴 풀 정보
- 도난: 이론적으로 비트코인을 훔치는 것이 익명으로 획득하는 또 다른 방법일 수 있지만, 불법이며 권장되지 않습니다.
혼합 서비스
혼합 서비스를 사용하면 사용자는 비트코인을 보내고 다른 비트코인을 반환 받아 원래 소유자를 추적하기 어렵게 만들 수 있습니다. 그러나 이를 위해서는 서비스가 로그를 보관하지 않고 실제로 비트코인을 반환하는 것에 대한 신뢰가 필요합니다. 대체 혼합 옵션으로는 비트코인 카지노가 있습니다.
코인조인
코인조인은 여러 사용자의 다양한 거래를 하나로 병합하여 입력과 출력을 매칭하려는 누군가의 과정을 복잡하게 만듭니다. 그러나 고유한 입력과 출력 크기를 가진 거래는 여전히 추적될 수 있습니다.
코인조인을 사용한 예시 거래에는 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a
와 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238
가 있습니다.
더 많은 정보는 코인조인을 방문하십시오. 이더리움에서 유사한 서비스를 찾으려면 토네이도 캐시를 확인하십시오. 이 서비스는 채굴자의 자금으로 거래를 익명화합니다.
페이조인
코인조인의 변형인 페이조인 (또는 P2EP)은 두 당사자(예: 고객 및 상인) 사이의 거래를 일반 거래로 위장시키며, 코인조인의 특징적인 동일한 출력을 갖지 않아 감지하기 매우 어렵고 거래 감시 엔티티가 사용하는 공통 입력 소유 추론을 무효화할 수 있습니다.
2 btc --> 3 btc
5 btc 4 btc
암호화폐에서 개인 정보 보호를 위한 최상의 실천 방법
지갑 동기화 기술
개인 정보 보호와 보안을 유지하기 위해 블록체인과 지갑을 동기화하는 것이 중요합니다. 두 가지 주요 방법이 있습니다:
- 풀 노드: 전체 블록체인을 다운로드하여 최대한의 개인 정보 보호를 보장합니다. 사용자가 관심을 가지는 거래나 주소를 식별하는 것을 불가능하게 합니다.
- 클라이언트 측 블록 필터링: 이 방법은 블록체인의 각 블록에 대한 필터를 생성하여 관련 거래를 식별할 수 있게 합니다. 가벼운 지갑은 이러한 필터를 다운로드하며 사용자의 주소와 일치하는 경우에만 전체 블록을 가져옵니다.
익명성을 위한 Tor 활용
비트코인이 피어 투 피어 네트워크에서 작동하기 때문에 Tor를 사용하여 IP 주소를 숨기는 것이 권장됩니다. 네트워크와 상호 작용할 때 개인 정보 보호를 강화할 수 있습니다.
주소 재사용 방지
개인 정보 보호를 보호하기 위해 매 거래마다 새 주소를 사용하는 것이 중요합니다. 주소를 재사용하면 거래가 동일한 엔터티에 연결되어 개인 정보 보호가 손상될 수 있습니다. 현대적인 지갑은 주소 재사용을 방지하기 위한 설계를 통해 사용자를 격려합니다.
거래 개인 정보 보호를 위한 전략
- 여러 거래: 지불을 여러 거래로 분할하면 거래 금액을 숨기는 데 도움이 됩니다.
- 거스름돈 회피: 거스름돈이 필요 없는 거래를 선택하면 거스름돈 감지 방법을 방해하여 개인 정보 보호를 강화할 수 있습니다.
- 여러 거스름돈 출력: 거스름돈 회피가 불가능한 경우 여러 거스름돈 출력을 생성하면 여전히 개인 정보 보호가 향상될 수 있습니다.
모네로: 익명성의 상징
디지털 거래에서 절대적인 익명성의 필요를 다루는 모네로는 개인 정보 보호에 높은 기준을 설정합니다.
이더리움: 가스와 거래
가스 이해
가스는 이더리움에서 작업을 실행하는 데 필요한 계산 노력을 측정하며 gwei로 가격이 매겨집니다. 예를 들어, 2,310,000 gwei(또는 0.00231 ETH)가 드는 거래에는 가스 한도와 기본 수수료, 채굴자를 동기화하기 위한 팁이 포함됩니다. 사용자는 과다 지불을 방지하기 위해 최대 수수료를 설정하고 초과분은 환불됩니다.
거래 실행
이더리움의 거래에는 송신자와 수신자가 포함되며, 사용자 또는 스마트 계약 주소가 될 수 있습니다. 수수료가 필요하며 채굴되어야 합니다. 거래에 필요한 주요 정보는 수신자, 송신자의 서명, 가치, 선택적 데이터, 가스 한도 및 수수료를 포함합니다. 특히, 송신자의 주소는 서명에서 유추되어 거래 데이터에 필요하지 않습니다.
이러한 실천 방법과 메커니즘은 개인 정보 보호와 보안을 우선시하는 사람들에게 필수적입니다.