brainlid

brainlid

Podcast: ThinkingElixir 93 - Preventing Service Abuse with Michael Lubas

In episode 93 of Thinking Elixir, we talk with Michael Lubas about protecting our Phoenix applications from common automated bot attacks. We cover API abuse to send email spam, carding attacks, credential stuffing and more!

Most Liked

Exadra37

Exadra37

As a Developer Advocate for API Security I loved to listen to this episode.

One thing that developers of several levels of seniority commonly fail to grasp is the difference between who is in the request vs what is making the request. When this difference becomes ingrained in their minds, then they will reason about the security of the endpoint they are about to create/fix/improve with another mindset.

I wrote this article that as a section about it, but the main takes are:

The who is the user of the mobile app that we can authenticate, authorize and identify in several ways, like using OpenID Connect or OAUTH2 flows.

Now we need a way to identify what is calling your API server, and here things become more tricky than most developers may think. The what is the thing making the request to the API server. Is it really a genuine instance of your mobile app, or is a bot, an automated script or an attacker manually poking around your API server with a tool like Postman?

While the article was wrote in the context of Mobile API security, the who vs what remains the same for any type of app.

Beware, that sometimes the attacker is a legit user of your app, trying to gamify is way around your service, like getting more reward points.

I really hope that @realcorvus succeeds in endeavour of being the first bot detection tool dedicated only to Elixir. We need more initiatives in the security space, because the bad guys are not sleeping in the couch.

realcorvus

realcorvus

Thank you! I’m glad you enjoyed the episode. Traffic classification is a difficult problem that’s a big focus for paraxial.io. I agree with your article that API endpoints exposed to the open internet are frequently the target of malicious requests. Dealing with an automated attack that becomes an incident is usually a rough day at work, hopefully these discussions help prevent that.

f0rest8

f0rest8

I wrote a simple blog post of how I do it with remote_ip and plug_attack with Metamorphic while respecting people’s privacy.

I also wrote another on rate limiting login attempts while also respecting privacy.

It was super great to listen to this episode, and I always look forward to Tuesday mornings with your podcast. :blush:

I was so excited to share I forgot to mention that I am also with @Exadra37 in hoping you succeed. And curious to see how it will positively impact security in Elixir.

Exadra37

Exadra37

Also, I would like to point that you have shodan.io that monitors all IPs for insecure software/servers. This service does what a lot attackers do on their own or by using this service.

Where Next?

Popular in Podcasts Top

brainlid
In episode 54 of Thinking Elixir, Lucas San Román explains his library Sourceror and how it was created to solve some AST parsing limitat...
New
wolf4earth
David Yamnitsky joins the mix to discuss tangram.dev and how to use it to add Machine Learning features to your Elixir applications. He ...
New
brainlid
In episode 89 of Thinking Elixir, we talk about how designing applications with lower friction points is a valuable goal. LiveView plays ...
New
brainlid
In episode 72 of Thinking Elixir, we talk with Wiebe-Marten Wijnja about his project TypeCheck that provides a new kind of runtime type c...
New
brainlid
https://thinkingelixir.com/podcast-episodes/051-live-auctions-with-alex-loukissas Posted via Devtalk (see this thread for details).
New
wolf4earth
AJ Foster is a developer at Pluralsight. He talks about the course he made for Pluralsight about Elixir and then talks about how Elixir w...
New
wolf4earth
Ivan Rublev is the author of the open source library, Domo, which provides type validations for Elixir applications. He discusses the typ...
New
brainlid
Episode 162 of Thinking Elixir. WebAssembly is an interesting technology that feels completely separate from Elixir. Patrick Smith create...
New
sundi
In this episode of the Elixir Wizards Podcast, the wizards are joined by José Valim, creator of Elixir, to discuss upcoming features, the...
New
brainlid
In this episode we dive into the exciting release of Elixir 1.17.0-rc.1 and other news from the community. Our main segment features an i...
New

Other popular topics Top

JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 27727 240
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New

We're in Beta

About us Mission Statement