
Комментарии 10
всё по красоте, но вы предлагаете мобильным клиентам реализовывать небольшой web-browser в своих сетевых слоях?
Нет конечно, это будет по типу оверинж: в статье этого не было, а надо было. BFF это браузерный паттерн, натив в него не укладывается, и встроенный веб-вью ради него был бы прямым нарушением RFC 8252, который требует системный браузер.
Для натива работает другая связка: системный браузер плюс PKCE для авторизации, хранилище ключей ОС (Keychain, Keystore) для токенов, и DPoP как основная защита. У DPoP приватный ключ генерируется в защищённом хранилище устройства и оттуда не извлекается, поэтому украденный из приложения токен без него бесполезен. Это второй слой из статьи, и для мобильных он несёт основную нагрузку, а не BFF.
Если формулировать одной фразой: BFF решает задачу для браузера, DPoP для всего остального. У браузера есть куда спрятать токен на сервере, у мобильного приложения нет, поэтому там защищают не хранение, а применение. Добавил в статью отдельный подраздел.
Честная граница
От честностей в статьях хабра уже тошнит :(
Заметно ли в логах
нет, обычный трафик
трафик с IP жертвы, ловится поведенчески
А почему с токеном не ловится поведенчески и куда делось симметричное "другой IP".
Вообще, берёшь куку, будь добр помнить CSRF/XSRF, не смотря на все защиты куки.
По второму пункту вы правы, и это была ошибка в мою пользу. Строку про заметность я написал задом наперёд: украденный токен идёт с чужого IP, чужого user-agent и чужой геолокации, то есть аномалией ловится лучше. А XSS в браузере жертвы приходит с её собственного адреса, в её рабочие часы, и поведенчески почти неотличим от неё самой, то есть ловится хуже. Симметричный аргумент «другой IP» я применил только там, где он мне выгоден, и не применил там, где он играет против.
Хуже того, фраза «ловится поведенчески» противоречит моему же разделу ниже, где написано, что детектора аномалий у нас пока нет. Приписал себе механизм, отсутствие которого сам же и признал.
Таблицу переписал: теперь по заметности BFF проигрывает. Он выигрывает четыре строки из пяти, а не пять из пяти, и так гораздо ближе к правде, хотя в реале всёж BFF как не крути лучше.
Про CSRF согласен, в статье он мелькал в скобках, хотя заслуживает отдельного места. Смысл ровно ваш: переход на куки не убирает риск, а меняет его форму. У нас стоят обе линии, SameSite=Lax плюс Secure и HttpOnly на куках, и поверх app.UseAntiforgery() с токеном в каждой изменяющей форме. Именно вместе, потому что SameSite не спасает от атаки с собственного поддомена и отваливается, если какому-то потоку понадобился SameSite=None. Вынес в отдельный подраздел.
Про первую фразу принято, слово убрал из текста.
Теперь мы на хабре разговариваем с ботами? С ChatGPT я могу и сам поговорить
не, ну можно конечно и с самим собой поговорить.
тут ведь как, статья помечена - сложно.
я уже не однократно писал что не копирайтер.
шлифует да нейронка. так как из меня так себе писатель.
я пытаюсь донести основную мысль.
откуда взялась статья, сегодня с коллегой обсуждали SSO в компании,
и проговаривали что и где может продырявится....
и вот как результат беседы я выложил на нейронку чтоб отразило ровненько мои мысли.
однако прошу заметить тут не нейрослоп. а вполне можно зайти и посмотреть исходники и уже аргументированно критиковать.
если выбирать между статьей написанной Вами пускай даже не писателем и статьей от LLM — я выберу Вашу. Тем более тут все-таки про технические детали. А LLM можно использовать как планировщик.
я боюсь что я буду писать это достаточно долго, и не очень продуктивно. и потому в свет либо она никогда не выйдет, либо через пару лет, и к тому же мне за это не платят.
а в наш век нейронок наверное надо использовать этот инструмент, оно экономит кучу времени.
и самое главное, я всеже читаю что у меня получилось, перед тем как публиковать, потому как у нейронок большая и больная фантазия.. пока по крайней мере.
Понимаю доводы. Но лично у меня, когда я вижу AI статью я уже теряю интерес к чтению, так как автоматически уровень доверия к информации падает. Потому что автор мог не вычитать ее, либо там откровенный слоп — разбираться уже не хочется.
нейрослоп я сам не люблю, потому что это просто набор символов без цели.
у меня же есть техническая база и определенные цели.
я приглашаю аргументированно к дискуссии и задавать вопросы на github.com/redbase-app
там нет статей, всё очень конкретно и точечно.
Украли access‑token. Что дальше: три слоя защиты в своём OpenID‑провайдере