There are a combination of features between ㅅ and ㅆ that differentiate them.
The biggest contributor to the difference is duration of aspiration following the frication: a longer aspiration resulting in "breathiness" in ㅅ, vs a longer period of friction creating more "tension" in ㅆ. The evidence for this comes from electronically generated artificial recordings (Yoon 1999) and acoustic studies on voice onset time (Mun 1997).
It is also true that the difference is very obvious before low vowels (i.e. 사 vs 싸 as well as 서 vs 써 sound very different). The difference is a bit less obvious between 시 and 씨.
This is also what contributes to the merged sound in Gyeongsang-do, where both ㅅ and ㅆ sounds are often shorter and tenser than Seoul ㅅ.
The place of articulation is in general not a huge distinguishing factor; tongue positions vary a lot for s- like sounds, and you may notice people changing them around quite a lot.
Articulatory studies (e.g. as reported in The Handbook for Korean Linguistics, published 2019) suggest that the glottal opening (in the throat) is smaller for the ㅆ consonant than for ㅅ, implying "tenseness"; and the linguopalatal contact area (the amount of area of the tongue that touches the hard palate at the roof of the mouth) is larger for ㅆ than for ㅅ.