1 puan yazan GN⁺ 2025-06-10 | 1 yorum | WhatsApp'ta paylaş
  • FSE yöneticisi, fediverse örneğine gelen yasa dışı kullanıcıları izlerken BoardReader/SocialGist scraping ile FBI’ın bilgi talebine uzanan süreci loglar ve e-postalarla derledi
  • Sorunun başlangıç noktası, harici sunucu gönderilerini bile FSE gönderisi gibi gösteren BoardReader arama sonuçlarıydı; bunun yasa dışı kullanıcı akışına ve yanlış atıflara birlikte yol açtığı düşünülüyor
  • BoardReader, User-Agent bilgisini gizleyip konut tipi proxy, Tor ve tarayıcı oturumu yeniden oynatımı kullanarak /api/v1/timelines/public?local=false uç noktasını kazıdı; engellendikten sonra da istekleri sürdürerek sunucu yükünü ve maliyeti artırdı
  • FBI, 14 Mart 2023’te WitchKingOfAngmar ile ilgili bir Emergency Disclosure Request gönderdi, ancak ilgili hesap FSE’de değil sneed.social üzerinde bulunuyordu ve ekli ekran görüntüsü de FSE ekranı değildi
  • Yönetici, sahte timeline ile BoardReader dizinini kirlettikten sonra belirli ifadelerin Facebook’tan gelen istekleri patlattığını gözlemledi; 2024’teki Torswats haberiyle FBI ilgisinin bağlamının bir kısmının yerine oturduğunu düşünüyor

Yasa dışı kullanıcı akışından başlayan iz sürme

  • FSE yöneticisi, pedofiliyle bağlantılı kullanıcıların sunucuya gelmesini FSE için ontolojik bir tehdit olarak görüyordu
    • Yasa dışı çocuk cinsel istismarı materyali yüklenmesi, kolluk kuvvetlerinin ilgisi ve ekipmana el konulma ihtimali doğrudan risk oluşturuyordu
    • Bazı kullanıcıların yasa dışı içerikleri birden çok siteye saçıp hangi hesabın engellenmeden kaldığını kontrol ederek hareket ettiğini düşünüyordu
  • Caydırmak için IP, e-posta, User-Agent gibi elde edilebilen bilgileri ifşa etmeye çalıştı, ancak bunun etkisi sınırlı kaldı
    • Çoğu kişi dosya yükleyip ya da alıp ayrılıyor, engellenmeyen yerleri arayan bir örüntü sergiliyor gibi görünüyordu
  • Giriş yolunu izlerken birçok kullanıcının Referer başlığının boardreader.com’u işaret ettiği ortaya çıktı

Loglarla izlenen yöntem

  • Kamu internetine açık bir fedi örneği işletmenin önkoşulu olarak botları, tarayıcıları, worm’leri ve anormal trafiği bizzat analiz edebilmek gerektiği vurgulanıyor
  • Log analizi için awk, tail -f, mawk -Winteractive, grep, sqlite3, R, sed, sort, psql kullanılıyor
    • awk, metin logları için SQL benzeri bir araç olarak tanımlanıyor
    • dig, whois, traceroute, tcpdump, iftop, Shodan ve Tor exit listeleri gibi ağ araçlarından da yararlanılıyor
  • nginx gibi web sunucularının log formatı değiştirilerek keyfi başlıklar, yanıt süresi ve arka uç yanıt süresi gibi bilgiler kaydediliyor
    • FSE loglarının, awk ya da elektronik tablo benzeri araçlarla daha kolay işlenebilmesi için sekme ayrımlı biçime yakın hale getirildiği belirtiliyor
  • Basit istatistikler de anormallik tespitinde kullanılıyor
    • İstek sayısının ortalaması ve standart sapması hesaplanarak aniden sıçrayan IP’ler, uç noktalar ve istek örüntüleri bulunuyor
    • Belirli bir anda “POST isteklerinin %90’ı aynı adresten geliyor” gibi çıkarımlar bu şekilde yapılıyor

BoardReader/SocialGist iz sürme

  • boardreader.com başlangıçta bir forum arama aracıydı; FSE yöneticisi bu sitenin fedi’yi düzgün anlamayıp FSE’yi tek bir forum gibi ele aldığını düşünüyor
    • Diğer örneklerden gelen herkese açık gönderilerin bile freespeechextremist.com forum gönderileri gibi gösterildiği söyleniyor
    • SocialGist kendini “accessible social data” satan bir şirket olarak tanıtıyordu; geliştiricisinin Sırbistan’da olduğunu söyleyen blog içeriği ile gerçek IP’lerin örtüştüğü belirtiliyor
  • 5 Mart 2023’te FSE loglarında BoardReader’ın açık bir ziyaret kaydı yoktu, ancak /api/v1/timelines/public?local=false üzerinde yüksek hızlı scraping tespit edildi
    • Tarayıcı kendini Chrome olarak tanıtıyordu, ancak insanın kaydırma hızından çok daha hızlıydı
    • spider1.boardreader.com ile spider43 arasında A kayıtları vardı, ancak gerçek trafik o sırada DediPath’e ait olan 45.15.176.187 IP’sinden geliyordu
  • IP engellendikten sonra ABD’deki konut tipi IP’lerden çok sayıda deneme sürdü; yönetici, BoardReader’ın tespitten kaçmak için konut tipi proxy satın aldığı sonucuna vardı
  • 8 Mart 2023’te awk, iptables ve Ruby betikleriyle belirli token’ları kullanan istekler engellenmeye başlandı
    • Sonrasında Sırp bir ISP IP’sinden devtools.boardreader.com referanslı istekler görülmeye başlandı
    • Bu isteklerin normal bir tarayıcı gibi kaynakları yükleyip Bearer token aldıkları, JavaScript çalıştırdıktan sonra bu token ile scraping’e yeniden başladıkları söyleniyor
  • 429, 401, 403 ve 500 yanıtları denendi, ancak scraper istekleri daha da sık tekrarlayarak fiilen bir DoS etkisi yarattı
    • Daha sonra 402 Payment Required dönülmeye başlandı; bu sırada TWKN herkese açık timeline erişimi kapatıldı

SocialGist ile e-posta yazışmaları

  • Yönetici 5 Mart 2023’te info@boardreader.com adresine crawler bilgisi talebi gönderdi
  • 13 Mart 2023’te dave@socialgist.com adresinden neyi öğrenmek istediğini soran bir yanıt geldi
    • Yönetici, yalnızca yerel gönderilerin alınmasını ve BoardReader’ı açıkça tanımlayan bir User-Agent kullanılmasını talep etti
    • Kendi sahip olduğu tüm IP aralıklarını crawling’in durdurulacağı hedefler olarak iletti ve pedofili bağlantılı akış sorununu da bildirdi
  • Dave bunu mühendislik ekibine ileteceğini söyledi, ancak yönetici aynı zaman diliminde geliştiricinin scraper üzerinde hata ayıkladığını düşündü
    • Loglarda 13 Mart 2023’te 109.92.154.188 adresinden devtools.boardreader.com referanslı istekler görünüyordu
    • Yönetici, SocialGist’in duracağını söylerken bir yandan da dolaşma yöntemleri üzerinde çalıştığı kanaatine vardı

FBI’ın Emergency Disclosure Request’i

  • 14 Mart 2023’te yönetici, fbi.gov adresinden konu satırı Emergency Disclosure Request olan bir e-posta aldı
    • Special Agent Peter Christenson, WitchKingOfAngmar kullanıcısına ait abonelik bilgilerini talep ediyordu
    • Ekli dosyanın adı FSE Screen Shot.PNG idi
  • E-posta başlıkları, posta sunucusu logları ve fbi.gov SPF bilgileri kontrol edildikten sonra e-postanın gerçekten FBI’dan geldiği sonucuna varıldı
  • Ekli ekran görüntüsü FSE ekranı değildi
    • FSE’yi bir “forum” olarak gösteriyordu ve üst tarafta “Forum • Blackrock Executiv...” ifadesi görünüyordu
    • “kill blackrock”, “larry fink” gibi arama terimleri vurgulanmıştı
    • Basit bir duygu analizi de içeriyordu
    • Gönderi e-postadan 26 gün önce yazılmış olmasına rağmen ekran görüntüsünde “11 hours ago”, “13 hours” gibi zamanlar görünüyordu
  • WitchKingOfAngmar, FSE kullanıcısı değil sneed.social kullanıcısıydı
  • Yönetici, FBI’a ilgili kullanıcıya ait bilginin FSE’de bulunmadığını, BoardReader’ın “Free Speech Extremist” etiketini eklediğini ama gönderinin kaynağının FSE olmadığını bildirdi
    • FBI ajanı kime sorması gerektiğini sorunca yönetici orijinal sunucuyu kontrol etmelerini söyledi

BoardReader, Facebook ve FBI’a uzandığı düşünülen akış

  • Yönetici, FBI ve BoardReader’ın Unicode’u aynı şekilde bozduğunu ve harici sunucu gönderilerini FSE gönderisi gibi yanlış atfetme ortaklığının dikkat çektiğini düşünüyor
    • Aslen 1f9e2, 1f438, 1f44d olan Unicode codepoint’lerinin, geçersiz Unicode’u ifade eden soru işareti kutularına dönüştüğü belirtiliyor
  • Bu bulgulara dayanarak FBI’ın BoardReader verisini görüp FSE ile iletişime geçtiği sonucuna varıyor
  • 15 Mart 2023’te de BoardReader FSE’ye istek göndermeyi sürdürdü ve yalnızca 402 yanıtları aldı
    • Yönetici sınırlı bir kamu açıklaması yayınladı ve FSE’yi kilitli moda aldı
    • Hesap olmadan TWKN ya da herkese açık timeline görülemez hale geldi ve kayıtlar kapatıldı
  • 16 Mart 2023’ten sonra da BoardReader’ın konut tipi proxy, Tor ve her istekte değişen User-Agent ile engeli aşmaya çalıştığı söyleniyor

Sahte timeline ve veri kirletme

  • 24 Mart 2023’ten sonra BoardReader scraping’i ve pedofili bağlantılı kullanıcı akışı sürünce yönetici sahte bir timeline sunmaya başladı
  • Küçük bir CGI betiğiyle var olmayan hesaplar ve var olmayan gönderilerden oluşan JSON üretti
    • İlk ID’ler rastgele 32 bit sayılardı; daha sonra BoardReader içinde takibi kolaylaştırmak için istek zamanının bir kısmı karıştırıldı
    • nginx CGI desteklemediği için bu uç noktaya gelen istekler lighttpd üzerine yönlendirildi
    • Gerçekleştirmenin büyük kısmının awk ile yapıldığı belirtiliyor
  • Gönderi kelime listelerine BoardReader arama terimleri ile CARNIVORE bağlantılı kelime listeleri karıştırıldı
  • Sahte gönderiler BoardReader tarafından dizine eklendi; yönetici rastgele ID’leri BoardReader arama kutusunda aratarak FSE web sunucusu logları ile dizin kayıtlarını karşılaştırdı

Facebook isteklerindeki patlamanın gözlemlenmesi

  • Yönetici, sahte gönderi URL’lerine Facebook’tan büyük hacimli istek geldiğini log histogramları üzerinden doğruladı
    • Yeşil/mavi 4’lerin yoğun olduğu bölümler 402 yanıtlarıydı ve bunların neredeyse tamamının Facebook kaynaklı olduğu söyleniyor
    • İstek URL’leri sahte gönderilerle eşleşiyordu
  • BoardReader dizine ekledikten hemen sonra Facebook’un ilgili gönderileri çektiği düşünülüyor
  • Sahte gönderilerin kelime listesini yalnızca “larry fink” olacak şekilde değiştirince Facebook isteklerinin neredeyse anında patladığı belirtiliyor
    • Bu ifade kaldırılınca trafik azalıp duruyor
    • Tekrar eklenince BoardReader’ın dizine alma sürecinin ardından patlama yeniden başlıyor
  • Yönetici akışı awk CGI → lighttpd → nginx → BoardReader crawler → BoardReader index → Facebook → FBI iç arama arayüzü şeklinde tahmin ediyor
    • Bu akışta Facebook’un FBI için tam olarak hangi araç ya da depo rolünü oynadığı ise sonuna kadar netleşmiyor

SocialGist’i durdurmak için kullanılan yöntem

  • Bant genişliği aşım maliyetini azaltmak için yanıtlar çok yavaşlatıldı ve timeout’a çok yakın bitecek şekilde ayarlandı
    • Bazen JSON’un son kısmı kısmen kesilerek parse hatası tetiklendi
    • BoardReader’ın sıradan bir JSON parser kullandığı ve yaklaşık 1 dakika harcayıp yine de işe yarar veri alamadığı düşünülüyordu
  • Daha sonra rastgele üretilmiş gönderilere Dave’in telefon numarası eklendi ve ertesi gün Dave yanıt verdi
    • Dave bir Jira bileti oluşturduğunu ve yakında geri döneceğini söyledi
    • Kısa bir yazışmanın ardından scraping hızla durdu, ancak FSE’nin BoardReader dizininden çıkması yaklaşık 1 hafta sürdü

Torswats haberiyle yerine oturan sonradan gelen bağlam

  • 18 Ocak 2024’te Wired, Lancaster, CA’den Alan Winston Filion’un tutuklandığını haberleştirdi
    • Kendisi Torswats ile ilişkili bir figür olarak anılıyor; bomba ihbarları ve sahte rehine durumları dahil yüzlerce asılsız ihbar üretmekle ilişkilendirildiği aktarılıyor
  • Yönetici WitchKingOfAngmarın aslında bu Torswats olduğunu düşünüyor
    • WitchKingOfAngmar adının “Lord of the Rings” göndermesi gibi göründüğünü belirtiyor
    • Torswats’ın Larry Fink’e yönelik anlamsız tehditkâr tiradları sıkça kullandığı için FBI’ın Larry Fink bağlantılı tehditlerle ilgilenmiş olabileceğini düşünüyor
  • Bu sonradan gelen bağlamla FBI talebi, “larry fink” arama terimi ve Blackrock yöneticilerine yönelik tehdit ilgisinin bir kısmı birbirine bağlanıyor
  • Yine de açıkta kalan sorular var
    • BoardReader’ın bugün tam olarak ne olduğu
    • SocialGist’in BoardReader’ı inandırıcı bir paravan olarak kullanıp kullanmadığı
    • Facebook’un bu boru hattında hangi rolü oynadığı
    • Facebook’un FBI’a araç sağlayıp sağlamadığı ya da bir veri deposu gibi kullanılıp kullanılmadığı

Fedi yöneticilerine bırakılan tavsiye

  • Yönetici, fedi verisi isteniyorsa scraping yerine sahte bir örnek kurup relay’e bağlanmanın sunuculara daha az zarar verdiğini söylüyor
    • Bunun da uygunsuz olduğunu düşünüyor, ancak en azından karşı tarafın sunucusunu bozmadan veriyi gerçek zamanlı almak mümkün diyor
  • Görünenin sadece gürültülü genel scraper’lar olduğunu, sessizce ActivityPub yazılımını ya da relay’leri değiştirerek veri toplayan aktörleri fark etmenin çok daha zor olduğunu düşünüyor
  • SocialGist’in hata yaptığı için izinin sürülebildiğini, aynı işi yapıp da bu tür hataları yapmayan kaç örgüt olduğunu bilmenin zor olduğunu söyleyerek uyarıyor

1 yorum

 
GN⁺ 2025-06-10
Hacker News yorumları
  • Blog yazısındaki bağlantı yalnızca defederasyonu seçen instance’ların listesine gidiyor
    Resmî Fediblock listesine gitmemesinin nedeni, Fediblock’un birkaç yıl önce kapanmış olması. Fediblock’un yazarı, bunun hiçbir şekilde nihai hüküm gibi kullanılmaması gerektiğini; listelenen instance’ların gerekçelerinin herkes tarafından kendi ölçütleriyle dikkatle karşılaştırılması gerektiğini açıkça belirtmişti. İçgüdüsel olarak, yazarın Fediblock maddesine bağlantı vermeye çalışıp bulamadığını ve doğru düzgün kontrol etmeden en benzer bağlantıyla değiştirdiğini düşünüyorum

    • Orta ölçekli bir Mastodon sunucusu işletiyorum; o taraftan bir kullanıcı bana n-word kullandı, yöneticilere bildirdim ama hiçbir şey yapılmadı, ben de engelledim
      Bunun Fediblock’la ya da başka herhangi bir topluluk temelli engelleme mekanizmasıyla hiçbir ilgisi yok. Kullanıcılar kötü davrandı, yönetici hiçbir şey yapmadı; ben de artık konuşmak istemediğime karar verdim. FSE’nin gizli bir cemiyet yüzünden engellendiğinden yakınması komik. Büyük bir komplo olmadan da sıradan troller insanları bizzat rahatsız edip birden fazla sunucunun bağını koparmasına yol açabilir
    • Fediblock Eylül 2023’te kapandı ve bu yazıda olayların ondan önce yaşandığını gösteren bir sürü zaman damgası var
  • Hikâyenin, gerçek kullanıcılara zarar verdiği için CAPTCHA kullanmak istememekle başlayıp sonrasında %80’inin açık kaydın ve açık zaman akışının ne kadar uzun süre kapalı kaldığını, bunun da kullanıcıları ne kadar olumsuz etkilediğini anlatması hoşuma gitti
    Yine de eğlenceli bir yazıydı ve çevrimiçi olarak başkaları için bir topluluk alanını kendi başıma barındırmanın benim yapabileceğim bir iş olmadığını kesin olarak hissettirdi

  • Bu yazıda sevdiğim epey şey var: Bir birey, FBI’ın bilgi toplama/gözetim düzeneklerinin bir kısmını anlamaya çalışan bir tür vatandaş bilimi yapıyor; Fediverse dramından parçalar var; küçük sunucu işletmecileri için sistem yönetimi taktikleri de ilginç
    torswats denen kişi epey baş belası gibi görünüyor ve sonunda tutuklanması ilginç bir yan hikâye oluşturuyor. Yazar da oldukça zeki görünüyor, üslubunu beğendim. Beş yıldızlık, okunmaya değer bir yazı

    • Teknik ayrıntıların yerinde bir dozda karıştığı harika bir yazı. Chaos Communication Congress gibi bir etkinlikte sunum olarak da çok iyi giderdi
    • Yazarın vardığı hatalı sonuca dikkat etmek gerekiyor. FBI, bir kullanıcı hakkında bilgi isterken şiddet tehdidi içeren ekran görüntüleri göndermiş; FSE tarafındaki kişi ise bunun zararsız bir palavra olduğu sonucuna hemen varmış
      Başka bir CEO’nun yalnızca 6 ay önce öldürüldüğü düşünülürse bu daha da geçerli. Yazının sonuna gelindiğinde, söz konusu kişinin zaten vekilleri aracılığıyla sayısız şiddet eylemi gerçekleştirdiği görülüyor. FSE tarafındaki kişinin federal kurumla iletişim kurması iyi olmuş; ama tehdit ekran görüntülerini görür görmez bunun şiddet eğilimli biri olamayacağını varsaymak tehlikeli bir önyargıyı gösteriyor
  • “Fediblock, FSE’nin asla izin vermediği şeylere izin vermiş gibi yanlış bir izlenim verdi” deyip, kaynak kodu kiwifarms’ta barındırılan bir web sitesine bağlantı veriyor
    Engellenmelerinin nedeni, çoğumuzun “ifade özgürlüğü” cephesiyle etkileşime girmek istememesi; neredeyse hepsi bu

    • Bu, yanıt verdiğin cümleyle mantıksal olarak bağlantısız bir söz gibi geliyor. Birini engellemekten ya da sevmemekten söz etmekle olgu doğrulamanın ne ilgisi var?
  • Güzel yazı. Çok küçük, pek önemsiz ve belki de yanlış olabilecek bir düzeltmem var
    Dahili arama motoru ekran görüntüsündeki “Negative” kelimesi duygu analizi olarak yorumlanmış; ama aslında o gönderinin arama niyetiyle eşleşmeyen “negatif” bir sonuç, yani dahili sistemde yanlış pozitif olarak bildirme düğmesi olma ihtimali var gibi görünüyor. Bu durumda duygu analizinin pek işe yarayacağını sanmıyorum

    • Katılmıyorum. “Negative” simgesi kırmızı bir insan kafası. Kim “yanlış pozitif” için böyle bir simge seçer ki? Bana kalırsa “olumsuz duygu” olarak yorumlamak daha mantıklı
  • “FSE’de pedofiller ortaya çıktı” meselesi Fediverse genelinin bir sorunu gibi görünüyor. Kabul etmek gerekirse Discord da aynı durumda

    • Aslında fotoğraf yüklenebilen ve gerçek adla bağlantılı olmayan her yer için böyle olduğunu düşünüyorum
    • Signal ve Telegram da aynı şekilde
  • Bu işin Referer başlığı yüzünden başlamış olması ilginç. Tarayıcının varsayılan olarak gezinme geçmişimin bir kısmını sunucuya söylemesi bir gizlilik sorunu gibi görünüyor
    Doğru hatırlıyorsam Tor’da bu sorun yok

    • İlginçtir, bu hem kullanıcı tarafında hem de referans gönderen site tarafında yapılandırılabiliyor
      Çoğu tarayıcı, en azından konuyla ilgili olanlar, başvuran sitenin ayarladığı referer-policy başlığına uyar 1. Django gibi yaygın site framework’lerinde de bunu kontrol eden seçenekler var 2. Çoğu kullanıcı aracısı buna uyduğundan, indeksleme sitesi isteseydi çoğu kullanıcı için bu başlığın gönderilmesini kolayca engelleyebilirdi
  • Scraper’ları engellemek için daha iyi teknik yöntemler yok muydu? İstekleri işlemek yerine giriş noktasında IP’yi ya da domain’i engellemek gibi. Yine de istek trafiğinin maliyetini ödemiş olabilirler
    API endpoint’leri için üçüncü taraf DDoS koruma hizmetleri pazarı yok mu, Cloudflare gibi şeyler. Gerçi “Free Speech Extremist” için uygun bir çözüm olmama ihtimali yüksek ve maliyeti de var. Yine de böyle bir durumda gerçekten maliyet tasarrufu sağlamış olabilir

    • “Bu yüzden scraping yapan IP’lerden gelen trafiği sunucuda düşürttüm. Sorun çözüldü! Ardından hemen başka IP’lerden çok sayıda deneme görünmeye başladı. ABD’deki konut IP’leriydi. Konut proxy’leri satın alıyorlardı.”